所以我现在有了一段时间我的网站,现在主机做了一些更改,所以我不得不将我的所有文件名从* .html更改为* .php。显然已做出必要的修改,但现在.php扩展似乎还做了一些额外的事情。
Header("Location: page.php");
不再起作用了,如下例所示:
if(isset($_GET['logoff']))
{
$_SESSION = array();
session_destroy();
header("Location: index.php");
exit;
}
上面的代码块完成了它应该做的事情,但不是重定向到index.php
页面,而是在页面名称中添加?logoff
,我必须手动前往另一个页面解决这个问题。你能解释一下为什么,以及我如何解决这个问题?
奇怪的是Header
在其他文件中运行得非常好。这真是令人沮丧。
答案 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>");