当用户关闭浏览器而不单击注销时销毁或取消设置会话 [英] Destroy or unset session when user close the browser without clicking on logout

查看:71
本文介绍了当用户关闭浏览器而不单击注销时销毁或取消设置会话的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Possible Duplicate:
How do I expire a PHP session after 30 minutes?

我正在销毁logout.php中的所有会话var,并在用户单击注销时调用它,这是用户未单击logout.php而是直接关闭浏览器.我该如何删除会话呢?

I am destroying all session var in logout.php and calling it when user click on logout, what is user does not click on logout.php but directly close the browser. how can i delete session then???

推荐答案

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

You can set an expiration time for the session data, test it with each session_start call and destroy the session if it’s expired:

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

这篇关于当用户关闭浏览器而不单击注销时销毁或取消设置会话的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆