我正在创建一个脚本来验证表单,我问自己一个问题.当我使用标题(参见下面的示例)时,我是否需要在之后使用退出?我的意思是,使用标题也意味着它默认退出,因此我不需要使用命令exit?
// cancel button clicked
if (isset($_POST['cancel'])) {
header("Location: http://localhost/admin/tracks.php");
exit;
}
echo '<p>$name</p>'
Run Code Online (Sandbox Code Playgroud)
Age*_*rum 23
你应该调用exit()因为一个header()不会自动停止执行脚本 - 或者如果它确实(我老实说不是100%),它肯定不会立即停止脚本.
例如,尝试以下代码:
<?php
header("Location: http://www.google.com");
unlink(__FILE__);
?>
Run Code Online (Sandbox Code Playgroud)
这个小脚本用于header()将您重定向到Google,然后删除自己.如果您运行它,您会注意到在重定向后,该文件仍然被删除.这意味着unlink()即使header()呼叫重定向您,呼叫仍然执行.
我exit在header-> location调用之后使用,因为我希望能够绝对依赖于脚本不会超过header-> location调用这一事实.
如果某个地方出现了错误并且您的脚本在header-> location调用之前开始生成输出,则调用将失败,并且脚本执行将正常继续(除非您调用exit)
| 归档时间: |
|
| 查看次数: |
5545 次 |
| 最近记录: |