Ignore_User_Abort(true)通过Ajax将HTML文件卸载到PHP时


Ignore_User_Abort(true) On Unload of HTML File Through Ajax to PHP

我四处寻找如何使用ignore_user_abort(true)功能来执行Update-Sql语句,但似乎无法使其正常工作。

这是我所拥有的:

来自.html

<body onUnload="winClose()"></body>

来自.js(ajax)

... var queryString = "?id=" + id;
xmlhttp.open("GET", "signoff.php" + queryString, true);

来自签名.php

<?php
ignore_user_abort(true);
set_time_limit(0);
... connect to DB
$id = $_GET['id'];
mysql_query("UPDATE Login_Table SET signed_in = '' WHERE login_id = '$id'");
mysql_close($con);
?>

我可以通过警告queryString来验证ajax连接是否正常工作,变量是否正在传递,但是sql语句没有执行。我尝试了ignore_user_abort的一些变体,但没有成功。有什么东西我遗漏了吗?

我很困惑为什么你想用jquery加载这种页面,当你只想让某人注销时,使用一些重定向。

坚持这个:

  • 过期会话(如果要确保有人注销,请过期15分钟后无活动等;)

  • 有一个注销按钮,它只调用一个PHP页面来处理注销数据库更新。

从我上面看到的情况来看,你会让这个过程变得过于复杂,最终会崩溃或不可靠。我的假设是,您只想在页面卸载后将某人强制注销。