PHP标头不工作(没有错误!)

时间:2014-02-20 21:08:02

标签: php

所以我现在有了一段时间我的网站,现在主机做了一些更改,所以我不得不将我的所有文件名从* .html更改为* .php。显然已做出必要的修改,但现在.php扩展似乎还做了一些额外的事情。

Header("Location: page.php");不再起作用了,如下例所示:

if(isset($_GET['logoff']))
{
    $_SESSION = array();
    session_destroy();
    header("Location: index.php");
    exit;
}

上面的代码块完成了它应该做的事情,但不是重定向到index.php页面,而是在页面名称中添加?logoff,我必须手动前往另一个页面解决这个问题。你能解释一下为什么,以及我如何解决这个问题?

奇怪的是Header在其他文件中运行得非常好。这真是令人沮丧。

3 个答案:

答案 0 :(得分:0)

第一个... $ _SESSION是一个全局变量...为什么要声明它?要使用$ _SESSION,请在页面顶部写下session_start(),对于标题,我建议您使用:ob_start

答案 1 :(得分:0)

尝试添加:

ini_set('display_errors','On'); 的error_reporting(E_ALL);

在文件顶部调试PHP错误

答案 2 :(得分:0)

无法弄清楚问题,没有一个解决方案有效,所以我只会使用客户端替代方案: printf("<script>window.location = 'link';</script>");