如何防止表单中的重复电子邮件提交(简报)

时间:2010-12-04 22:09:00

标签: php duplicates

我的网站页脚中有一个简单的简报表格,我想阻止访问者两次提交电子邮件。

我知道有很多方法可以做到这一点,使用数据库就是其中之一。还有一些人使用javascript或一些服务器端脚本,但我不知道如何将这些脚本应用到我的新闻稿表单中。

以下是时事通讯代码:

<form method="post"  action="processnewsrequest.php">

      <fieldset>

           <label for="email">Email:</label>
           <input name="email" type="text" id="email" placeholder="Enter your email" required="required" />
           <input type="submit" class="submit" id="news-submit" value="Join" />

      </fieldset>

</form> 

处理此表单的脚本很简单。它首先列出了电子邮件变量;检查是否输入了电子邮件(或显示错误消息);如果成功,通讯请求将发送给网站管理员,访问者会收到一条消息,感谢他们加入简报。

如何防止重复提交电子邮件?我该如何应用这些方法。我希望我不必使用数据库。

非常感谢!

2 个答案:

答案 0 :(得分:1)

这是一个jQuery代码段,禁止意外双击提交按钮:第一次提交表单时,它只是禁用了提交按钮。

$('form').submit(function(){
    $('input[type=submit]', this).attr('disabled', 'disabled');
});

这假定你要防止的双重提交类型是'哎呀,我点击两次'变种。如果您的目标是在忘记他已经注册的情况下再次注册的访问者 - 您将需要检查数据库或者您正在存储新闻通讯的电子邮件地址。

答案 1 :(得分:0)

您需要一种方法,根据您已有的电子邮件地址列表检查输入的电子邮件地址。如果这些电子邮件地址(使用网站管理员)没有存储在数据库中,或者您可以查找其他某种方式,那么您就不幸了。

从您的网站管理员了解他们如何存储电子邮件地址。