如何防止重复的表单提交

时间:2016-09-18 21:04:54

标签: php forms

我有简单的电子邮件脚本,表格很少,我收到了重复的提交......

那么,防止重复提交的最简单方法是什么?

我的代码..

<form action="main_contact.php" method="post" name="contact_form">
                  <input type="text" name="contact_name" placeholder="Name">
                  <input type="email" name="contact_email" placeholder="Email">
                  <input type="text" name="contact_subject" placeholder="Subject">
                  <textarea cols="30" name="contact_message" rows="10" placeholder="Your Message"></textarea>
                   <input type="submit" value="Send">  
                </form>

<?php
                  if(isset($_POST['contact_form'])){ 
                    var_dump($_POST);
                  }
                ?>

3 个答案:

答案 0 :(得分:1)

您可以在提交表单后使用jQuery禁用提交按钮:

$('form[name="contact_form"]').submit(function(){
    $(this).find('input[type="submit"]').prop('disabled', true);
});

答案 1 :(得分:0)

只需点击“提交”按钮,您就需要禁用或隐藏可见性。拳头提交id到提交按钮

<input type="submit" value="Send" id="sub_id"> 

然后在提交表单

后将其隐藏或禁用javascript
document.getElementById('sub_id').style.visibility='hidden'; 

答案 2 :(得分:-2)

如果您使用任何类似Laravel5或Symfony的框架,您可以“开箱即用”。

简而言之: 注册会话令牌并在首次提交表单后使其无效。