通过Ajax将HTML文件卸载到PHP时忽略用户中止(true)

通过Ajax将HTML文件卸载到PHP时忽略用户中止(true),php,ajax,ignore,Php,Ajax,Ignore,我到处寻找如何使用ignore_user_abort(true)特性来允许执行updatesql语句,但我似乎无法让它工作 以下是我所拥有的: From.html <body onUnload="winClose()"></body> 来自signoff.php <?php ignore_user_abort(true); set_time_limit(0); ... connect to DB $id = $_GET['id']; mysql_query("UP

我到处寻找如何使用ignore_user_abort(true)特性来允许执行updatesql语句,但我似乎无法让它工作

以下是我所拥有的:

From.html

<body onUnload="winClose()"></body>
来自signoff.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);
?>

我不明白为什么要使用jquery加载此类页面,当您只想注销某人时,使用一些重定向

坚持这一点:

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

  • 有一个注销按钮,可以简单地调用处理注销数据库更新的PHP页面


从我上面看到的情况来看,您使流程过于复杂,最终导致中断或不可靠。我的假设是,您只想在页面卸载后强制将某人注销。

谢谢您的评论-我实际上希望用户注销时,值1变为NULL。原因是我可以让数据库根据登录者执行特定的语句。当有人登录时,数据库会用1更新用户帐户。当他们离开页面时,db应该用空值更新帐户。请将表定义添加到您的问题中。您可能对这里的列类型做了错误的操作。我连接到我键入的DB。。。连接到数据库。我测试了我的连接字符串,它很好。可能无法通过Ajax调用带有ignore\u user\u abort的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);
?>