我有下面的脚本。当我们关闭窗口时,用户注销正在工作,但在数据库中状态没有改变。我的意思是状态1显示用户在线,状态0显示为离线,但是当用户通过关闭窗口注销时,状态不会改变。如何在浏览器关闭时运行查询?
如果我们点击“注销”按钮,onlu然后状态改变。
if($_SESSION['username'] != "admin")
{
$timeout = 1;
$logout_redirect_url = "logout.php";
$timeout = $timeout * 60;
if(isset($_SESSION['start_time']))
{
$elapsed_time = time() - $_SESSION['start_time'];
if ($elapsed_time >= $timeout)
{
$db->query($strQuery1);
header("Location: $logout_redirect_url");
}
}
$_SESSION['start_time'] = time();
}
从你的问题的描述,我会假设浏览器不重定向。重定向是否发生在浏览器中?此外,如果您正确缩进代码,您可能会更容易发现逻辑或控制流错误。 – hakre
您的数据库应该如何获得有关关闭浏览器的用户的知识? –
@ user1755316请在发布之前格式化您的代码,以便更好地阅读。 – Peon