我正在使用php会话编写登录页面。问题是,登录后,如果我退出页面而没有退出,我可以在下次登录时进入该页面。我使用了包含用户名的会话变量,如果会话在那里,我会在每个页面上检查它。我发现无法登录的原因是因为会话没有被取消。任何人都可以告诉我该怎么做?我想要一个简单的解决方案,当选项卡关闭时浏览器会自动注销,或者不允许用户退出而不注销?
答案 0 :(得分:1)
浏览器仅在退出整个浏览器进程时销毁会话cookie。没有可靠的方法来确定用户是否/何时关闭了标签。你可以附加一个onbeforeunload处理程序,并希望能够对服务器进行ajax调用以说明标签的关闭,但它不可靠。
如果用户在您的网站上打开了两个或更多表,该怎么办?如果他们关闭一个标签,另一个标签将被有效注销,即使用户完全打算继续使用您的网站。
另请参阅: