【发布时间】:2015-04-27 21:15:13
【问题描述】:
我想要的是能够在不刷新页面的情况下删除会话数据。 因此,假设我的用户创建了一个会话并让他的计算机处于睡眠模式两年,我想在 4800 秒后删除他的会话...... 我该怎么做?
目前,我有一个仅在刷新时删除会话的代码。
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 4800)) {
session_unset(); // unset $_SESSION variable for the run-time
session_destroy(); // destroy session data in storage
}
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp
或者这个代码在没有页面刷新的情况下工作吗? 如果没有,如何不断更新这段代码?
【问题讨论】:
-
如果他们向服务器发出另一个请求,那么您的代码将运行并最终销毁会话。
-
我认为 JavaScript 更适合这种情况,因为它在客户端而不是服务器端运行。
-
除非您告诉它,否则代码不会自行更新。向它添加一个监听器,它会在您需要的每个时间间隔刷新。
-
“假设我的用户创建了一个会话并让他的计算机处于睡眠模式两年” - 肯定会出现电源故障,而那个人将不得不最终给他们充电。谁让电脑开着 2 年?
-
非常感谢大家,我将使用 javascript 'setTimeout' 函数......我知道我可以使用它,但只是想确保没有其他东西......