我在使用PHP
header location
时感到困惑。哪种方式是最佳做法......?
if(true){
header("location:somepage.php");
}
或
if(true){
header("location:somepage.php");
exit;
}
答案 0 :(得分:3)
发送`Location:'标题后,PHP 将继续解析,并且仍然会执行header()调用之下的所有代码。所以请改用第二个例子:
if(true){
header("location:somepage.php");
exit;
}
答案 1 :(得分:1)
在发送初始标题后将继续发送标题 - 所以,如果你真的,真的是这样 - 你可以用exit;
结束脚本。
然而,问题是您可能仍希望在用户重定向到另一个页面后执行脚本 - 因此您实际上并不想放入exit;
。
好代码示例:
header("location:somepage.php");
//continue code and do stuff.
错误代码示例:
header("location:somepage.php");
// Continue code and do other stuff... then...
header("location:somepageOtherPage.php");
// This is the header that the user will get.
答案 2 :(得分:0)
我绝对会选择第二种选择。否则,脚本执行不会终止。单独设置另一个标头不足以重定向。
答案 3 :(得分:0)
这取决于你想做什么: 如果您希望在更改标题后仍然运行其余脚本 - 请使用第一个选项(不使用exit())。 如果(更有可能)您不希望脚本继续 - 使用第二个选项(使用exit())
答案 4 :(得分:0)
我认为如果你不使用"退出"您的脚本的其余部分将在重定向之前执行。
答案 5 :(得分:0)
header()是一个很好的做法。如果你不写exit(),它将在重定向导致问题后执行一些语句。 exit()将停止所有进一步的执行。
header("location:somepage.php");
exit;
答案 6 :(得分:0)
第二个是正确的,因为页面会自动重定向到您在标题语法中指定的页面。因此不需要退出。