我使用phprunner开发了一个数据捕获表单,并在mysql数据库上更新了数据。
由于输入过程中的拼写错误,我允许用户仅编辑自己的数据,并进一步将其限制为一个字段(自由文本和容易出错的字段)。
是否可以在给定的时间段(例如1天)后设置锁定记录 这里的目标是为用户“编辑”能力设置一种到期时间,因此从存储的记录中提取的历史报告可以始终相同。
如果是这样,怎么能实现呢?
由于
答案 0 :(得分:0)
您可以在表格中设置日期输入列(当前时间使用NOW()),并在用户尝试更新帖子时进行检查。使用date_add() or date_sub()计算时差。
答案 1 :(得分:0)
创建日期创建列,然后检查该日期与今天日期之间的日期。如果它大于1,那么你可以使用php或其他东西锁定它:
if ($timeDiff greater than a day){
disable edit button
else
enable edit button
}
答案 2 :(得分:0)
简单的方法是简单地检查记录是否可以首先编辑。例如在构建编辑表单时,请检查记录创建的时间。如果是> 1天,然后输出“抱歉,编辑禁用”而不是表单。
如果你有相对聪明的用户可以伪装表单并提交数据,那么你也可以在sql update
级别进行过滤以禁止更改:
UPDATE yourtable
SET ...
WHERE (id = $id) AND ((record_created + interval 1 day) > now())
答案 3 :(得分:0)
这只会阻止数据库更新,但不会隐藏用户“更新/提交”按钮
UPDATE table
SET ...
where last_update < date_sub(now(), interval 1 day)
And id = $id
隐藏用户可以使用的按钮(在前端)
SELECT
id,
IF(last_update < date_sub(now(), interval 1 day), 1, 0) as show_update_button
.....