【发布时间】:2015-12-18 08:58:34
【问题描述】:
我有一个用户系统,我使用 cookie 使它们在 1 小时不活动后自动注销,但只有当客户端刷新页面时,它才会更新数据库行。到目前为止,这是我的代码:
if(isset($_SESSION['username'])) {
$activeUser = $_SESSION['username'];
if(isset($_COOKIE['active'])) {
setcookie('active', $activeUser, time() +3600);
} else {
$makeOffline = $DB->query("UPDATE users SET user_loggedin = '0' WHERE user_id = '".$dbid."'");
header("location: ".$site_url."/logout.php");
}
}
我现在要问的是,是否有任何方法可以在 1 小时不活动后将 user_loggedin 设置为 0,而无需客户端刷新页面?
【问题讨论】:
-
如果您还没有将此代码放在单独的 PHP 中,然后使用 ajax 调用调用它,在您网站的页脚或页眉中设置一个计时器并调用您创建的用于检查的 ajax 函数例如每 5 分钟 cookie。
标签: php mysql database session cookies