目前我有一个应用程序,当用户单击提交按钮时,它将触发 insert
代码来插入 reports
功能的记录。
我现在面临的问题是,用户不懂计算机,因此我从表中得到的数据不准确。以下是导致数据采集错误的几个例子。
情况1:用户点击提交按钮后,数据已经插入
到数据库中,但用户不小心再次点击提交按钮,插入
再次触发,导致数据库在大约 5 到 10 秒内有两条相同的记录,但时间戳不同。
情况2:用户输入的第一条记录实际上不是用户想要的,例如用户想要键入29/10/2013
,但用户键入为 28/10/2013
用户再次点击后退按钮并插入正确的交易,即 29/10/2013
和一笔交易,它有 2 条记录,其中一条是正确的日期,一是错误日期。
下面是代码:
$stmt = $db->prepare("INSERT INTO log (dob, log_datetime, log_count, amount) VALUES (?, ?, ?, ?)");
$stmt->bindParam(1, $userDate);
$stmt->bindParam(2, $now, PDO::PARAM_STR);
$stmt->bindParam(3, $cust_count);
$stmt->bindParam(4, $amount);
date_default_timezone_set('Asia/Kuala_Lumpur');
$now = date('Y-m-d H:i:s');
$cust_count = 1;
$amount = 10;
$stmt->execute();
只要用户点击提交按钮,上面的代码就会触发,所以我在想是否可以使insert
代码在一段时间后触发,例如30sec
?
附加说明
- 这是一个开发的应用程序,并从表中执行数据库
- 它与表单验证无关,因为我已经编写了表单验证部分的代码。
- 我的问题是有什么方法可以在设置的特定时间量上触发
插入
查询
我在 SO 和 Google 中搜索,但找不到可以使用的相关示例。
请建议我任何可以解决上述两种情况的方法。
谢谢。
最佳答案
对于第一种情况,提交表单时禁用该按钮。 对于第二种情况,validate将其插入数据库之前的日期。
关于php一段时间后插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354120/