|
|
1
1
我想我可能知道错误的原因。会话必须链接到浏览器和IP地址(这样一次可以登录多个人)。这意味着会话不仅必须存储在服务器端,而且客户机还必须有到会话的链接,以便您知道他们在请求数据时是谁登录的。在所有HTTP请求期间,此会话id作为头的一部分共享。 不过,当你重定向用户时,你没有给他们发送新邮件头的机会,是吗?你可能只是把新的一页发给他们。这个新页面从未看到它们的头,因此它不知道哪个会话变量(PHP有数百个甚至数千个会话变量)属于它们。当您重新登录 第二次 ,您发送的是一个头,因此您发送的是会话ID,PHP知道哪个会话变量是您的。
有两种解决方案。首先是找到一种方法来重定向它们,迫使它们发送一个新的头。我相信使用
另一种方法是在将会话id重定向到loggedin.php文件以便您知道他们是为第一页加载而登录的。在初始页面加载之后,您不再需要执行此额外步骤,因为每次他们请求页面时都会为您执行此步骤。要传递您刚刚附加的会话id
|
|
|
2
0
重定向确实会减慢速度并导致额外的服务器负载。你应该做的是把邮件寄回index.php索引页面,它将检测是否有帖子。然后登录并显示loggedin.php文件文件。无需重定向。 毕竟,您已经知道用户已验证,为什么要将他们重定向到另一个页面,在那里您必须再次检查验证(您刚才做了什么)?这更多的是一个“前控制器”的概念index.php索引充当路由器来加载和显示不同的页面。即使他们登录时只是一个欢迎页面。这就消除了延迟带来的任何问题。 你正在做一个会话开始,对吗? |
|
|
3
0
比如$_SESSION['username']='mattstuehler' 然后检查 如果(!空的($loggeduser) 反正我没看到虫子 |