我已经建立了一个可以正常工作的基本登录系统。
我在所有网页上使用session_start()
。我用$_SESSION = 'user';
我用session_start(); session_destroy();
我的问题是:
如果我在学校服务器上编写此代码,则可以正常工作。但是,如果我在自己的服务器上尝试,我可以登录,但我无法正确销毁会话。当我点击“注销”时并且被发送到另一个页面,我可以单击返回到登录所需页面,就像我没有登录一样。当我在学校服务器上执行此操作时,这不会发生。
有不同版本的PHP可以干扰基本的session_destroy代码吗?
答案 0 :(得分:0)
首先关闭session_start();
会话开始,session_destroy();
会将其销毁
您不需要在所有页面上启动会话。您可以在/或登录循环后执行此操作。至于破坏会话,你应该在你注销时使用它。当然,在您这样做之后,您应该将用户重定向到主页或其他地方(由您决定)。
我建议您阅读this related issue有关特定网页上的会话和用户限制/访问权限。
希望这对你有所帮助。
附:注销后尝试使用Ctrl + F5
刷新页面(您可能已在浏览器中缓存了副本)
答案 1 :(得分:-1)
您不能,因为会话存储在您的文件系统上,因此您在服务器上有两个相同会话的实例。
这种情况的一个不错的选择是将会话存储在数据库中,因此会话管理将是集中的。