我用这个功能来重定向从一个PHP页面到另一个:PHP头功能不能正常工作
header('Location: student.php?cnp='.$_REQUEST['name']) ;
在我的本地主机它的工作,但如果在网上测试它,它不会重定向。 我也试图给出完整的路径(如http://.../student.php?...
),但它仍然不起作用。有谁知道为什么,我该怎么办?
我用这个功能来重定向从一个PHP页面到另一个:PHP头功能不能正常工作
header('Location: student.php?cnp='.$_REQUEST['name']) ;
在我的本地主机它的工作,但如果在网上测试它,它不会重定向。 我也试图给出完整的路径(如http://.../student.php?...
),但它仍然不起作用。有谁知道为什么,我该怎么办?
试试这个:
header('Location: http://www.example.com/someurl.php', true);
第二个参数将取代以前的位置标头(如果有的话)。
还要检查你所收到的HTTP响应代码(应该是30X)
如果没有什么帮助,你可以随时通过JavaScript重定向:
echo "<script>window.top.location='http://www.example.com/someurl.php'</script>"
这不是那么专业,但有效,即使头有已经发送。
我尝试这个解决方案,它没有工作
header('Location: http://www.example.com/someurl.php', true);
所以我建议人们去与这两种可能如下解决方案,为我工作。
使用JS
:
echo "<script>window.top.location='http://www.example.com/someurl.php'</script>"
使用META
:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=http://www.example.com/someurl.php">';
这两个都为我工作。但由于某种原因标题的东西不工作在网络上,但工作在本地非常好。我将使用元解决方案。
您的header()
不工作,因为头已经发送到浏览器。 在页面的开头使用ob_start()
(甚至在DOCTYPE声明之前)。而在年底,使用ob_end_flush()
<?php
ob_start();
//more code
header("Location:URL");
ob_end_flush();
?>
我只是有这个建议为我工作了同样的问题。将这个功能在你的代码的顶部:
function move_to(){
header('Location: student.php?cnp='.$_REQUEST['name']);
}
,随时随地调用函数:顺便说一下
move_to()
,我不为它会邀功。我刚刚发现它在:Header function not working PHP
您是否收到任何错误消息?也许_“不能修改标题信息 - 标题已经发送...”_ ??? – rdlowrey 2012-01-02 17:49:27
不......它只是保持在同一页上! – Madrugada 2012-01-02 17:52:36
错误报告?你确定该行被执行? – JJJ 2012-01-02 17:54:36