这是共享数据的常见问题。
正在构建一个允许用户将邮件列表分享给同事的系统。
我怀疑userA打开页面时出现问题, userB打开同一页面并编辑数据, 之后,用户A编辑数据并提交,用户B的更改将被取消。
因为我正在使用PHP,是他们以任何方式来防止这种错误???谢谢。|
php / jquery中是否提供了任何编码示例?非常感谢
答案 0 :(得分:1)
制作版本日志,因此用户A将更新conent ver。 123到ver。 124,用户B也会尝试更新ver。 123以他自己的方式,但在服务器上已经有ver。 124,所以你将向用户B显示消息,该内容最近被另一个用户修改。
此原则用于SVN,例如。
答案 1 :(得分:0)
有一些解决方案。 最简单的方法是在数据库上设置一个“锁定”字段,当某人正在查看某个页面时,该字段设置为true,并且在锁定时拒绝让其他任何人进入该页面。这不是一个好主意,因为当有人离开页面时很难捕获,因此页面可能永远保持锁定状态。
你可以通过使用一个小的AJAX调用来解决这个问题,该调用向服务器发送一个消息,每隔十秒左右锁定一次页面,并且页面锁定的时间限制是三十二秒。
也许最好的方法(虽然这取决于系统)是使用AJAX在其他用户编辑页面时动态重新加载页面的组件(当 时,在它们旁边放置一条消息/ em>已编辑),并警告两个用户是否同时编辑同一个字段。