单击即可双重提交

时间:2017-01-13 12:08:30

标签: php jquery forms

我有一个表单,提交两次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);

现在我在提交脚本之前检查数据库中的值。为了防止双重提交。

我有两个问题。

  1. 是否有理由进行随机双重提交?
  2. 如果#1无法解决,是否有更好的方法可以防止双重提交?
  3. 使用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!
                });
    

0 个答案:

没有答案