保存表单时执行类似的代码:
$wpdb->query("DELETE FROM Unit_list WHERE group = '$group_id'");
$order = 1;
$unique_units = array_unique($units);
foreach ($unique_units as $unit) {
$wpdb->insert("Unit_list", array("unit" => $unit, "group" => $group_id, "sort_order" => $order));
$order++;
}
一天中会有几次出现重复。
如果表单提交两次,并且有足够的时间让这部分代码每次运行,则不会出现重复项,因为第二次将涉及删除整个第一组。
为了避免重复,此代码必须同时运行两次。
快速双击即可完成此操作,但如果第三次单击速度较慢且不同时,该组将被删除且不涉及重复项。
确定双击是原因后,解决方案是停止检测表单提交按钮的后续点击。
最佳答案
在此处查看客户端 (jQuery) 解决方案:Prevent double submission of forms in jQuery
还有一个 PHP 版本: http://phpsense.com/2006/prevent-duplicate-form-submission/
关于javascript - PHP 表单代码有时会同时执行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38363728/