我想根据用户操作将用户发送到不同的页面.所以我在页面的顶部做了多个功能,如下所示:
<?PHP function one() { header("location: pagea.PHP"); } function two() { header("location: pageb.PHP"); } function three() { header("location: pagec.PHP"); } ?>
当然,我收到一个错误,因为我正在声明标题.起初我虽然这样会好起来的,因为我把它们包含在函数内,并且一次调用了一个函数.但是我仍然收到错误.有没有其他的方法呢?
我认为你误解HTTP标头位置是什么.
位置标题指示客户端导航到另一个页面.您不能每页发送一个位置标题.
此外,PHP在第一个输出之前发送头文件.输出后,您不能再指定任何标题(除非使用输出缓冲).
如果两次指定相同的标题,则默认情况下,header()
将用最新的值替换以前的值…例如:
<?PHP header('Location: a.PHP'); header('Location: b.PHP'); header('Location: c.PHP');
将用户重定向到c.PHP,不要一次通过a.PHP或b.PHP.您可以通过将错误值传递给第二个参数(称为$replace)来覆盖此行为:
<?PHP header('X-Powered-By: MyFrameWork',false); header('X-Powered-By: MyFrameWork Plugin',false);
位置标题只能指定一次.发送多个位置标题不会将用户重定向到页面…它可能会混淆UA中的垃圾.另外,了解代码在发送Location头后继续执行.所以跟着那个header()
与exit
的电话.这是一个适当的重定向功能:
function redirect($page) { header('Location: ' . $page); exit; }
原文地址:https://www.jb51.cc/php/131448.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。