PHP/MySQL锁定页面和客户端崩溃
我有一个简单的PHP/MySQL网站。其中有一个页面,一次只能由一个用户访问:PHP/MySQL锁定页面和客户端崩溃,php,mysql,crash,deadlock,onunload,Php,Mysql,Crash,Deadlock,Onunload,我有一个简单的PHP/MySQL网站。其中有一个页面,一次只能由一个用户访问: 如果一个用户访问此页面,而页面上没有其他用户,则显示该页面 如果一个用户访问此页面,而其他人已经看到它,则该页面将被视为“锁定”,用户将被定向到另一个页面 为了跟踪谁正在访问此页面,我有一个MYSQL表,其结构如下: ________________________________________ | ID | ID_User | Visit_TS | |____|_________|_
- 如果一个用户访问此页面,而页面上没有其他用户,则显示该页面李>
- 如果一个用户访问此页面,而其他人已经看到它,则该页面将被视为“锁定”,用户将被定向到另一个页面
________________________________________
| ID | ID_User | Visit_TS |
|____|_________|_______________________|
| 1 | 20 | 2015-01-12 10:00:01 |
|____|_________|_______________________|
在这种情况下,用户ID 20当前正在访问该页面。如果任何其他用户试图访问它,他们不能,因为用户20正在锁定它
如果用户(ID为20)
- 访问另一页或
- 关闭浏览器(窗口卸载时使用ajax)
我是否应该创建一个自动PHP脚本,定期重置表?您可以使用类似ajax的方法检查用户是否仍然可用,比如每10秒检查一次。现在,我正在尝试一些类似于为什么需要此功能的方法?我目前正在研究几种替代方法。。。通过Heartbeat,应用程序将让客户端向服务器发送常规ping(通过ajax或类似的方式)。如果客户端停止发送ping,很可能是因为他已终止会话或崩溃