【问题标题】:If statement based on header locationIf 语句基于标题位置
【发布时间】:2011-04-01 04:03:13
【问题描述】:

我正在尝试根据是否显示某个页面来使用include_once

这是我用来尝试实现此目的的方法:

if ( header('Location: inbox.php'){
    include_once('_class/message_core.php');
}

假设所有文件都在正确的位置,有什么理由不这样做吗?

【问题讨论】:

  • 这不是 header() 函数的工作方式。 header() 不会从请求中检索标头,它会发送标头,因此您实际上是在告诉脚本重定向用户。
  • 另外,Location: 是响应头,而不是请求头。服务器将其发送给客户端,而不是相反。

标签: php header conditional-operator


【解决方案1】:

使用这个:

if ($_SERVER['REQUEST_URI'] === 'inbox.php') {
    include_once '_class/message_core.php';
}

$_SERVER 是一个包含标题、路径和脚本位置等信息的数组。您可以在PHP documentation 中阅读更多相关信息

header() 用于设置响应头,即header('Location: inbox.php') 将实际重定向用户!

此外,您的代码中与 if 位于同一行的代码中缺少一个结束括号

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2016-07-15
    • 2014-02-14
    • 1970-01-01
    相关资源
    最近更新 更多