浏览器关闭时PHP会话问题
这里遇到了一个问题,我需要在关闭浏览器时清除用户会话。我已经尝试了各种选项,比如使用onunload函数在浏览器关闭时设置session.cookie\u life=0或session\u destroy。但当我下次打开浏览器时,似乎没有任何东西会破坏会话 我只是在谷歌上搜索了一下,我看到在Chrome浏览器中有一个名为“允许设置本地数据”的设置,它必须更改为“在退出浏览器之前只保留本地数据”,当我这样做时,它不会保留我的会话浏览器关闭时PHP会话问题,php,google-chrome,session,Php,Google Chrome,Session,这里遇到了一个问题,我需要在关闭浏览器时清除用户会话。我已经尝试了各种选项,比如使用onunload函数在浏览器关闭时设置session.cookie\u life=0或session\u destroy。但当我下次打开浏览器时,似乎没有任何东西会破坏会话 我只是在谷歌上搜索了一下,我看到在Chrome浏览器中有一个名为“允许设置本地数据”的设置,它必须更改为“在退出浏览器之前只保留本地数据”,当我这样做时,它不会保留我的会话 真正的问题是我不能要求每个用户更改浏览器的设置,然后它就会相应地工作
真正的问题是我不能要求每个用户更改浏览器的设置,然后它就会相应地工作,有没有一种方法可以用php或javascript在代码中处理它。任何选项都可以。加载页面时,您是否尝试检查cookie和会话?大概是这样的: 1) 卸载时销毁cookie 2) 对这两者进行页内加载检查
if(isset($_COOKIE['user'] && $isset($_SESSION['user'] {
//user is logged in
} else {
//your code should fall here after user closes browser
//because the cookie doesn't exist anymore. Maybe you can even destroy the session too
[session_destroy();]
...
...
}
在谷歌修复之前,你可能不得不接受这个问题。所以目前还没有我们可以注入的解决方案?我认为当浏览器关闭时,会话将自动被破坏…无论如何,你能分享你的代码吗?在正常情况下,它会破坏会话,你可以尝试在谷歌浏览器中设置该选项“允许设置本地数据”,将其设置,然后尝试关闭浏览器并再次打开。您的会话不会被破坏。您可以在任何项目中尝试,如果您在本地拥有它,它的行为将相同。是的,该逻辑已经存在。但它仍然是一个浏览器特定的问题,无法工作。请检查此项,可能会有所帮助: