用户关闭浏览器时更新MySQL数据库

Azz*_*ude 3 php mysql

我正在为一家研究公司开发一个Web应用程序,其中一个要求是用户一次只能登录一台设备.

所以我开发了一个非常基本的系统,当你登录一些PHP更新数据库中用户的行从0到1时,当你点击注销按钮时,它会再次从1更新到该行.

唯一的问题是,如果用户不使用注销按钮并只是关闭浏览器,它将结束会话并将其注销,但数据库中的行将不会更新.

有没有办法在浏览器关闭时更新数据库?

Dr.*_*Dan 5

您可以使用unload事件,在该事件中您将向服务器发送ajax请求,这将更新mysql中的标志。您可以尝试遵循jquery语法。

$(window).bind('unload', function(){
    $.ajax({
        type: 'get',
        async: false,
        url: 'path/to/file.php'
    });
});
Run Code Online (Sandbox Code Playgroud)

  • 您如何在php端获得此值?您将变量设置为$ _GET ..那又如何呢? (2认同)

Ber*_*rak 5

没有可靠的方法.你可以在页面关闭时调用一个javascript函数,然后向你的服务器发出一个请求,告诉它会话已经完成,但是:javascript可能会被关闭,甚至可能根本没有执行.最好的办法是使用超时:存储最后一次操作的时间.如果超过10分钟前,会话"过期".