通过离开浏览器销毁PHP会话

通过离开浏览器销毁PHP会话,php,session,browser,Php,Session,Browser,当您离开浏览器时,它会破坏php会话吗 例如,当用户第一次访问站点时,我开始播放视频,但当用户返回到第一页时,视频可能不会再次播放 这就是为什么我需要知道用户离开浏览器时会话是否被破坏 当某人关闭浏览器时,会话将被销毁。关闭浏览器将销毁将浏览器与PHP会话关联的会话cookie 当PHP会话在可配置的时间段内处于非活动状态时,它本身将被销毁。从逻辑上讲,当您关闭浏览器时,会话应该被销毁。但在某些浏览器中,如Firefox,当用户保存打开的选项卡时,浏览器保留会话 此外,关闭选项卡与关闭浏览器不同

当您离开浏览器时,它会破坏php会话吗

例如,当用户第一次访问站点时,我开始播放视频,但当用户返回到第一页时,视频可能不会再次播放


这就是为什么我需要知道用户离开浏览器时会话是否被破坏

当某人关闭浏览器时,会话将被销毁。

关闭浏览器将销毁将浏览器与PHP会话关联的会话cookie


当PHP会话在可配置的时间段内处于非活动状态时,它本身将被销毁。

从逻辑上讲,当您关闭浏览器时,会话应该被销毁。但在某些浏览器中,如Firefox,当用户保存打开的选项卡时,浏览器保留会话


此外,关闭选项卡与关闭浏览器不同,会话仍将保留(不会破坏)。

关闭浏览器会破坏会话。当PHP会话在一段时间内处于非活动状态时,它本身也会被破坏

您可以手动执行此操作

成功登录后,将此代码放在登录页面的顶部:

$_SESSION['last_activity'] = time(); //your last activity was now, having logged in.
$_SESSION['expire_time'] = 3*60*60;
然后,您应该将此代码放在每个php文件的顶部

if( $_SESSION['last_activity'] < time()-$_SESSION['expire_time'] ) {
    header('Location: logout.php'); 
} else{ 
    $_SESSION['last_activity'] = time(); //this was the moment of last activity.
}
if($\u会话['last\u activity']
您担心用户离开浏览器还是离开页面?PHP会话存储在服务器上,但服务器如何知道哪个会话属于哪个用户?通过IP地址?通过它放在会话cookie中的id,该会话cookie在回答中提到。