当用户成功登录网站时,该事件会创建一个名为“loggedin”的会话并将其设置为true。
if (criteria satisfied){
$_SESSION['loggedin'] = true;}
else { ... }
如果用户退出网站,该会话如何过期?
退出网站意味着直接离开网站。无论是关闭选项卡,浏览器还是访问其他网站,都意味着用户离开网站的任何实例。
在提出这个问题之前我已经检查了其他问题,但似乎没有人直接回答这个问题,似乎都处理了与每个提问者相关的独特实例。
答案 0 :(得分:3)
尝试放:
session.cookie_lifetime = 0;
在php.ini中。如果用户退出您的网站,这将删除会话cookie(通过关闭浏览器,例如,如果她关闭计算机)。请参阅session.cookie_lifetime
。
答案 1 :(得分:0)
客户端的会话只是一个包含会话ID#的cookie。
您可以将Cookie的过期时间设置得非常小,但如果有人在页面上空闲,则会话可能会过期。您可以使用META刷新在所有页面(母版页/主模板)上放置一个隐藏的IFRAME,以刷新会话cookie过期。
您还可以尝试使用onUnload JavaScript事件对LogOut页面进行Ajax调用,这可能会放弃会话并清除cookie。