用户将会话状态记录为only=true,直到他们离开站点


users loggedin session state to only = true until they have left the site

当用户成功登录网站时,该事件会创建一个名为"loggedin"的会话并将其设置为true。

if (criteria satisfied){
    $_SESSION['loggedin'] = true;}
else { ... }

如何在用户退出网站时使此会话过期?

退出网站意味着直接离开网站。无论是关闭标签、浏览器还是访问另一个网站,这都意味着用户离开网站的任何情况。

在问这个问题之前,我已经检查了其他问题,但似乎没有一个能直接回答这个问题,所有问题似乎都涉及与每个提问者相关的独特实例。

尝试放置:

session.cookie_lifetime = 0; 

如果用户退出您的网站(例如关闭浏览器,关闭计算机),这将删除会话cookie。参见session.cookie_lifetime

客户端的会话只是一个cookie,其中包含会话的ID#。

您可以将cookie的过期时间设置为很短,但如果有人在某个页面上空闲,则会话可能会过期。您可以在所有页面(母版页/母版模板)上放置一个隐藏的IFRAME,并使用META刷新来刷新会话cookie过期时间。

您还可以尝试使用onUnload JavaScript事件对LogOut页面进行Ajax调用,这可能会放弃会话并清除cookie。