PHP头重定向问题:不去应该去的地方

PHP头重定向问题:不去应该去的地方,php,internet-explorer,redirect,Php,Internet Explorer,Redirect,我开发的应用程序中有一个管理员页面,允许以站点管理员身份登录的用户单击链接以特定用户身份自动登录(绕过密码输入) 一旦应用程序设置了必要的会话变量以作为所选用户登录,就会出现如下代码块: if ($login->loginAsUser($_POST['selecteduser']) === TRUE) { //redirect to user page error_log ("REDIRECT TO user.php"); //die("breakpoint 1")

我开发的应用程序中有一个管理员页面,允许以站点管理员身份登录的用户单击链接以特定用户身份自动登录(绕过密码输入)

一旦应用程序设置了必要的会话变量以作为所选用户登录,就会出现如下代码块:

if ($login->loginAsUser($_POST['selecteduser']) === TRUE) {
    //redirect to user page
    error_log ("REDIRECT TO user.php");
    //die("breakpoint 1");
    header("Location: user.php");
    exit;
} else {
    die("login error");
}
(没关系-在此之前我正在验证POST变量)

$login->loginAsUser(ID)是我的登录类的一个方法。它基本上只是销毁当前会话,然后为用户登录创建一个新会话,如果一切正常,则返回TRUE

如您所见,我添加了一些代码,以便在重定向之前将消息写入Apache错误日志。每次代码运行时,此消息都会正确显示在日志中。 但是大约90%的情况下,实际发生的是重定向到index.php,而不是user.php。此外,这种错误重定向似乎只发生在Internet Explorer(版本11和以前的版本)中,并且只发生在大约90%的情况下。偶尔,它会重定向到正确的页面

更奇怪的是,如果我取消注释行
die(“断点1”),浏览器仍然重定向到index.php,而不是停止并显示消息


我尝试过使用绝对路径进行重定向,但这并没有改善任何效果。

我猜代码中其他地方的重定向是由错误触发的。
但实际发生的大约90%的情况是重定向到index.php,而不是user.php
“90%的时间user.php重新重定向到index.php”(您应该检查)?您需要在代码库中检查重定向到index.php的位置(没有问题)为什么。
这种错误重定向似乎只发生在Internet Explorer中
绝对经典的原因是因为加载了特定于ie的内容
Nope。没有重定向到user.php,除非在少数情况下,它似乎能正常工作。页面从未加载(我试图将user.php的第一行写入日志,但日志中没有任何迹象。否则,user.php只是一个HTML页面,上面写着“你在这里”。那么,你的问题就不是描述的那样了。