我想在浏览器关闭时运行查询,设置在线用户'状态从1到0。
我四处寻找,发现了两种方法,想知道什么是更好的。
方法1:
window.onbeforeunload = function() {
$.ajax({
url: 'logout.php',
type: 'GET',
async: false,
timeout: 4000
});
};
方法2:
$(window).unload(function() {
$.ajax({
url:"logout.php",
type:"POST",
async:false, // browser waits till xhr completed
success:function() {
alert("bye!");
}
});
});
Logout.php
mysql_query("UPDATE `users` SET `status` = '0' WHERE `user_id` = ".$session_user_id."");
感谢所有帮助!
答案 0 :(得分:0)
要检查在线用户,您应该使用其他一些东西,如果他们强行关闭浏览器,您的脚本将无法检测到它。
要检查在线用户,您应该每隔5分钟向他们发送一些数据,如果达到数据,则他们在线,否则他们不是。你应该让你的系统像这样而不是那样。
答案 1 :(得分:0)
我在代码后面有这个用途的解决方案。
SELECT OBJECT_NAME
FROM ALL_OBJECTS
WHERE OBJECT_TYPE IN ('TABLE')
AND OWNER='owner_name';