我在Logout.php页面上使用header('Location: ' . $_SERVER['HTTP_REFERER']);
并且它在那里正常工作。但是当我在登录页面上使用它时它给了我错误"该页面没有正确地重定向PHP& #34;和#34; Firefox检测到服务器正在以永远不会完成的方式重定向该地址的请求。"
我的代码是:
if($resT==3){
$_SESSION['userId'] = $_POST["user"];
header('Location: '.$_SERVER['HTTP_REFERER']);
}
$resT
是我根据用户从数据库中获取的用法类型。
答案 0 :(得分:2)
当您在页面上有循环周期时,通常会出现此错误,这意味着您将在不会停止的循环中重定向。您的页面中存在一些逻辑错误。
HTTP_REFERER
会将您重定向到基地址,例如http://localhost/
因此,请在您抛出用户的页面上检查重定向。
答案 1 :(得分:0)
HTTP_REFERER
由客户端设置,因此无法保证可用。因此,除了日志记录之外,它不能用于任何其他目的。
将初始位置存储在会话中或通过表单参数传递。
答案 2 :(得分:0)
嗨最好将您的后页设置为会话并将用户重定向到该页面。 就像$ _SESSION [' backfromlogin'] = $ currentpage;比使用此会话变量重定向回来。 你的问题是,引用者重定向到登录页面本身。你可以回复引用来确认。