我需要在用户关闭浏览器时对数据库执行MySQL查询。我正在开发一个应用程序,当用户登录数据库字段时,lo-gin_status设置为1并且当用户注销他的lo-gin_status时设置为0.但是如果用户登录但不注销他应该关闭他的浏览器该怎么办。
答案 0 :(得分:3)
您可以尝试使用Javascript执行此操作并检查窗口关闭事件,但是由浏览器决定是否支持。
您可以做的是创建一个表来记录人们访问您的站点时,然后运行一个cron作业来检查他们更改页面后的时间。如果超过X分钟,则将该用户的状态设置为离线。
无论如何都要尝试:
使用window.onunload事件。
https://developer.mozilla.org/en-US/docs/Web/API/window.onunload
您应该能够进行ajax调用以运行要从那里运行的查询
答案 1 :(得分:0)
您可以在卸载js事件时向服务器端发送一些ajax请求。 Look here for details
答案 2 :(得分:0)
准确地说,您正在寻找 .unload()
jQuery event。
$( window ).unload(function() {
//call a php function that sets the flag to 0 or whatever you want
});
答案 3 :(得分:0)
你是从错误的观点接近这个。没有100%可靠的方法来判断他是否已登出或关闭浏览器(他也可能只是杀死浏览器或关闭电脑/移动设备)。
相反,将会话数据存储在数据库中并在每次用户对页面执行操作时刷新它,如果在某个时间内没有操作(例如30分钟左右),则只需手动将其注销。