php一段时间后插入数据

标签 php mysql pdo

目前我有一个应用程序,当用户单击提交按钮时,它将触发 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?

附加说明

  1. 这是一个开发的应用程序,并从表中执行数据库
  2. 它与表单验证无关,因为我已经编写了表单验证部分的代码。
  3. 我的问题是有什么方法可以在设置的特定时间量上触发插入查询

我在 SO 和 Google 中搜索,但找不到可以使用的相关示例。

请建议我任何可以解决上述两种情况的方法。

谢谢。

最佳答案

对于第一种情况,提交表单时禁用该按钮。 对于第二种情况,validate将其插入数据库之前的日期。

关于php一段时间后插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354120/

相关文章:

php - cURL 不再设置 cookie,但为什么呢?

php - 如何生成时事通讯的退订链接?

python - 如何授予 www-data 用户访问 python salt 模块的权限?

php - 根据经纬度从mysql获取结果

php - 如何从 MYSQL 数据库中检索特定 ID 的详细信息

php - 在执行下一条语句之前等待 mysqli::multi_query 完成

php - 魔法函数 __call 函数不起作用

Mysql用max()值计算

php - PDO 准备在单个查询中插入多行

PHP - fatal error :未捕获错误:调用未定义的方法 PDO::statement()