我已经为此苦苦挣扎了很长时间,并且已经阅读了数十篇与之相关的帖子,但没有任何东西可以帮助我解决这个问题。
我有一个检查设置,所以如果您没有登录我的网站,它会将您发送到登录页面,其中包含一个$_GET
变量,其中包含成功登录后需要重定向回的信息。
在登录页面上,我将 HTML 表单发送到“ checklogin.php
”文件,以便在用户名和密码与数据库匹配的情况下登录用户(这次我还将$_GET
重定向的原始变量作为$_POST
变量传递,以保持 '面包屑的连接)。如果登录信息匹配,我将启动一个会话并为会话变量分配有关用户的一些信息。
在页面底部,成功登录后,我这样做是为了回到之前的位置:
$go = "http://something/page.php?id=".$_POST['breadcrumb'];
header($go);
这有效......最初(会话变量成功传递给page.php
)。但是随后用户点击进入的下一页,会话结束并且他/她不再登录。
太令人沮丧了!位于session_start()
每一页的顶部。当用户在没有动态标头重定向(没有$_POST['breadcrumb']
)的情况下登录时,会话始终是成功的。
我尝试了许多不同的解决方案,但没有解决这个问题。