【问题标题】:Header location not locating/redirecting as per condition标题位置未根据条件定位/重定向
【发布时间】:2016-05-13 19:20:35
【问题描述】:

这里我写了 if...else 条件不同的标题位置。

$a = "yahoo";
if($a == "yahoo")
{
header('location:http://www.yahoo.com');
}else{
header('location:http://www.gmail.com');
}

header('location:http://www.google.com');

问题:

在上面的代码中,如果条件为真,那么它也会重定向到 google.com

根据我的观点,我认为它首先进入 if 条件,然后重定向到给定位置,其他以下代码将不会执行。

当我将 exit()die() 与每个标题一起写时它会起作用。

问题

谁能建议我它的创建问题在哪里?

为什么没有exit()die() 它不起作用?

【问题讨论】:

    标签: php header


    【解决方案1】:

    “位置:”标题。它不仅将此标头发送回浏览器,而且还会向浏览器返回一个 REDIRECT (302) 状态码,除非已经设置了 201 或 3xx 状态码。

    <?php
    header("Location: http://www.example.com/"); /* Redirect browser */
    
    /* Make sure that code below does not get executed when we redirect. */
    exit;
    ?>
    

    您可以在 php 手册 php header 中阅读更多相关信息

    【讨论】:

      【解决方案2】:

      您可以在文档的此评论中找到:http://php.net/manual/en/function.header.php#85254

      标题被自己覆盖。因此,如果您不停止执行代码,您的标头将更改为“google”,然后发送给用户..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-10
        • 1970-01-01
        相关资源
        最近更新 更多