我有一个表单,提交两次PHP CLI脚本,在一些罕见的情况下单击提交点击。这是随机发生的,我似乎无法弄清楚原因。
exec("/usr/bin/php5 -q /var/www/bcst/db/sender.php $ref $etyp $sid | at now 2>&1 | tail -1 | cut -f2 -d' ' > /tmp/{$ref}.job", $output, $return );
我已经使用jQuery在点击时禁用了提交按钮。但这似乎并没有阻止双重提交。
所以我从提交的上下文创建了一个唯一的MD5哈希并存储到DB
中 md5($subject.$message);
现在我在提交脚本之前检查数据库中的值。为了防止双重提交。
我有两个问题。
使用ajax提交原始表单。使用下面的代码
$("#form1").submit(function(e){
e.preventDefault();
$('#send').prop('disabled', true);
$('#save').prop('disabled', true);
$.ajax({
url: '/db/process.php',
type: 'POST',
data: $(this).serialize(),
success: function(result) {
$('#echo').html(result);
}
});
timer = window.setInterval(refreshProgress, 1000); // function for progress!
});