2011-06-25 33 views

回答

8

你需要把一个报头调用后的exit;;客户端停止加载页面后,PHP不会自动停止执行代码。

3

的代码应该是这样的: -

$flag=1; 
if($flag==1) { 
    header("Location:page1.php"); 
    exit(); 
} 
header("Location:page2.php"); 
exit(); 

如果不使用“exit()” /“die()”建设,PHP将继续执行下一行。这是因为PHP将用户重定向到首先提到的页面(在本例中为“page1.php”),但是在执行完整个页面中写入的所有语句之后,甚至在执行“header()”方法之后。要停止这一点,我们需要使用“exit()”/“die()”结构。

希望它有帮助。

2

这是它是如何工作的:

服务器端:PHP创建一个HTML页面发送。如果$flag == 1,它将其标题更改为location:page1.php。在每种情况下,因为没有else,它然后将标题更改为location:page2.php

然后,该页面发送到您的浏览器,它重定向你。

我的建议:简单地在你的第二个标题改变之前放else

1
$flag=1; 
    if($flag==1) 
    { 
     header("Location:page1.php"); 
     exit(); 
    } 
    header("Location:page2.php"); 

这应该防止重定向到page2.php。 只记得把exit()放在必要的地方。

+0

提供代码示例的出色工作! –

+0

如果$ flag不等于 –

+2

它将不起作用第二个'header()'是死代码。您需要将'exit'和第一个'header'放入一个'{}'块中。 – Floern