标题重定向未被调用

时间:2011-07-05 13:43:11

标签: php

我使用以下代码:

$page = $_GET['page'];

if($page == '132'){
  header("Location : new.php");
}
else {
} 

现在,当网址为:index.php?page=132时,我希望该网页能够找到查询字符串,看到它是132并重定向到new.php,但它不是这样做。

有谁知道为什么?

7 个答案:

答案 0 :(得分:3)

更改

header("Location : new.php");

header("Location: new.php");

答案 1 :(得分:3)

确定 if子句没有被解雇?我没有看到任何调试代码。

尝试:

header("Location: new.php");
exit();

我不确定冒号之前有关该空格的HTTP是多么挑剔,你应该立即执行exit()以禁止脚本在分派HTTP Location标头后继续。< / p>

(另外,严格来说,您应该提供完全限定的网址以重定向到。)

答案 2 :(得分:0)

确保此点之前没有其他脚本输出,并且在开始<?php标记前面没有任何字符,包括空格。

答案 3 :(得分:0)

删除标题定义中的空格:

header("Location:new.php");

答案 4 :(得分:0)

您是否尝试过这样更改重定向:

 header("Location: new.php");

答案 5 :(得分:0)

删除Location和冒号之间的空格,并完全限定新位置:

header("Location: http://www.myserver.com/new.php");

答案 6 :(得分:0)

您的if语句未被触发。在if之前回显$ page以确定你将它与之比较。

$page = $_GET['page'];
echo $page;
if($page == '132'){
  header("Location : new.php");
}
else {
} 

如果显示132,请确保没有空格。除了代码中的其他内容之外的任何东西都会影响这一点。