我需要在数据库中执行MySQL查询当用户关闭他的browser.i正在开发,其中当数据库字段LO-gin_status用户登录被设置为一个应用程序后,执行数据库查询1,并且当用户注销他的lo-gin_status时,它被设置为0.但是如果用户登录但不注销,他应该怎么做才会关闭他的浏览器。关闭浏览器(PHP)
-1
A
回答
0
你可以使用一个类似的事件向onunload
事件发送到您的服务器,但你不能确定这一事件将始终发送。我个人认为最好跟踪用户活跃的最后一刻,并根据最后一次活动时间戳确定他是否在线。这取决于你的网站这个最大超时应该多长时间。
0
也不能保证它会成功,但是看看这个链接
1
有没有办法在浏览器关闭,以可靠地检测。因此,当浏览器关闭时,您无法可靠地操作数据库。因此,对于未检测到浏览器关闭的情况,您需要采取一些解决方法。使这种解决方法成为浏览器关闭时执行您想要执行的任何操作的首选方法,并放弃在浏览器关闭时需要执行某些操作的要求。
1
试试这个
$(window).unload(function() { alert("AJAX function to do the required job"); });
0
,如果你遇到了麻烦真的有尝试这种方式!在您的应用程序的每个(e.g. 5 minutes)
为登录用户
`live_last_update` TIMESTAMP NULL DEFAULT NULL
更新领域current timestamp
:
用户表中添加列等。如果用户注销手动设置为null
。 它表示用户在线或不在线。
使用cron job
脚本,不必安排在后台运行任务的能力! 因为你没有访问会话在cron作业(Why?),写脚本,检查live_last_update
领域中的所有用户的记录,其中在最后5 minutes
未更新的领域。所以你知道哪些用户没有注销。如果需要,可以设置null
。
设置cron job
执行特殊时期。
这里是一个很好的教程如何使用cron作业:
http://net.tutsplus.com/tutorials/php/managing-cron-jobs-with-php-2/
0
为什么不能有一个Ajax请求每x秒。如果您在3秒内没有收到来自浏览器的消息,那么您是否需要清理表冠工作?
确保你已经听到了AJAX调用回至少一次,其他明智的您将登录的人是谁已禁用JavaScript
相关问题
- 1. 关闭浏览器
- 2. 调用PHP时,浏览器或浏览器选项卡关闭
- 3. 关闭浏览器清除PHP会话
- 4. PHP ob_end_flush()不关闭浏览器连接
- 5. PHP会议上就关闭浏览器
- 6. 浏览器关闭时服务器是否“关闭”? PHP - MYSQL
- 7. 铬:当浏览器关闭
- 8. 饼干关闭浏览器
- 9. 关闭浏览器警报
- 10. 在浏览器关闭
- 11. SetTimeout在浏览器关闭
- 12. 在浏览器关闭
- 13. 关闭浏览器事件
- 14. 使Web浏览器关闭
- 15. 浏览器关闭事件
- 16. 浏览器关闭和asp.net
- 17. XPages关闭浏览器
- 18. 浏览器确认关闭:取消按钮也关闭浏览器
- 19. 关于浏览器关闭事件
- 20. 关闭弹出窗口关闭直到浏览器关闭
- 21. 浏览器关闭后PHP Cookie丢失 - 浏览器=默认设置
- 22. 当浏览器关闭。如何在php中关闭浏览器时运行sqlk查询
- 23. IE浏览器在关闭浏览器后做注销
- 24. 检测用户浏览器是否关闭浏览器
- 25. 检测刷新浏览器卸载/ beforeunload当浏览器关闭
- 26. 检测浏览器关闭在jquery/JavaScript跨浏览器
- 27. 在硒浏览器中获取浏览器关闭事件
- 28. 在Android浏览器中捕捉浏览器关闭事件
- 29. 浏览器 - 检测浏览器关闭或标签接近
- 30. 关闭浏览器会话丢失
有没有办法让这样的事情适用于所有情况。你冷漠的是看看[卸载](http://api.jquery.com/unload/)事件。但是如果浏览器崩溃怎么办?此外,还有很多问题与您的问题完全相同或非常相似。 – AmazingDreams