如何防止表单中出现重复的电子邮件(新闻稿)

问题描述:

我在我的网站的页脚中有一个简单的新闻稿表单,我想阻止访问者两次提交他们的电子邮件。如何防止表单中出现重复的电子邮件(新闻稿)

我知道有一些方法可以做到这一点,使用数据库是一个。还有一些人使用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> 

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

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

非常感谢!

这是一个jQuery代码片断,用于禁用意外双击提交按钮:当表单首次提交时,它仅禁用提交按钮。

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

这是假设的那种双提交要防止的是“哎呀,我点击了两次”品种。如果您的目标是在忘记已经注册的情况下再次注册的访问者,则必须检查数据库或存储通讯的电子邮件地址的任何位置。

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

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

+0

Im本网站的管理员(开发它)。电子邮件被发送到一个电子邮件地址。 – gdinari 2010-12-05 19:01:21

+0

啊对了。我只是根据你对你的问题的评论,说他们被发送到网站管理员。 – 2010-12-05 20:48:04