当用户在不单击注销的情况下关闭浏览器时销毁或取消设置会话

2022-08-30 19:54:46

可能的重复:
如何在30分钟后使PHP会话过期?

我正在破坏注销中的所有会话var.php并在用户单击注销时调用它,什么是用户不单击注销.php而是直接关闭浏览器。我怎么能删除会话,然后???


答案 1

您可以为会话数据设置过期时间,在每次调用时对其进行测试,并在会话过期时销毁会话:session_start

session_start();
if (!isset($_SESSION['EXPIRES']) || $_SESSION['EXPIRES'] < time()+3600) {
    session_destroy();
    $_SESSION = array();
}
$_SESSION['EXPIRES'] = time() + 3600;

答案 2

你不能。但是,会话cookie通常在没有过期时间的情况下发送,这意味着它们在浏览器关闭时会被删除,因此会话无论如何都会丢失。


推荐