Php 关闭浏览器时更新mysql数据

Php 关闭浏览器时更新mysql数据,php,Php,我一直在疯狂地想如何解决这个问题,当浏览器关闭时更新mysql。当用户登录时,我在我的web应用程序中有一个登录,当用户注销时,状态=1(联机),然后状态=0(脱机) 是否有适当或最佳的做法来处理这种情况?任何解决方案都将不胜感激。谢谢。像这样捕捉窗口关闭事件- $(window).on("beforeunload", function() { // YOUR CODE }) 现在在YOUR_code部分中,发出一个ajax请求,并用状态0更新用户。这意味着,如果用户在不注销的情况下

我一直在疯狂地想如何解决这个问题,当浏览器关闭时更新mysql。当用户登录时,我在我的web应用程序中有一个登录,当用户注销时,状态=1(联机),然后状态=0(脱机)


是否有适当或最佳的做法来处理这种情况?任何解决方案都将不胜感激。谢谢。

像这样捕捉窗口关闭事件-

$(window).on("beforeunload", function() { 
    // YOUR CODE
})

现在在
YOUR_code
部分中,发出一个ajax请求,并用状态0更新用户。这意味着,如果用户在不注销的情况下关闭窗口,您仍然可以设置状态0。

1-您可以使用
unload
beforeunload
事件,这些事件将在tab/window/close上触发,但您永远无法确定它是否真的到达了服务器

2-如果能够在服务器端使用NodeJS,那么可以使用“Heartbeat”,如果客户端不发送Heartbeat消息,那么可以在服务器端为客户端更新它


3-另一种方法是,当客户端处于联机或脱机状态时,您可以向表中添加一个新列(DateTime),并在活动中更新它。如果日期早于此(例如10分钟),则意味着用户可能处于脱机状态。

您可以使用ajax调用更新数据库,请在此处阅读更多信息:您可以使用