2010-12-04 18 views
0

私は自分のサイトのフッターに簡単なニュースレターフォームを持っており、訪問者が自分の電子メールを2回送信しないようにしたい。フォーム(ニュースレター)で重複した電子メールの送信を防止する方法

私はそこにデータベースを使用して、これを行うにはいくつかの方法があることを知っています。 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> 

スクリプトは簡単です。最初に電子メール変数をリストします。電子メールが入力されたかどうかを確認します(またはエラーメッセージを表示します)。成功した場合は、ニュースレターのリクエストがサイト管理者に送信され、訪問者はニュースレターへの参加を感謝するメッセージを受け取ります。

メールの重複を防ぐにはどうすればよいですか?そして、私はどのようにメソッドを適用するのですか?私はデータベースを使用する必要はないと思う。

ありがとうございます!

答えて

1

これは、送信ボタンの偶発的なダブルクリックを無効にするjQueryコードスニペットです。フォームが最初に送信されたときに送信ボタンが無効になるだけです。

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

これは、あなたがないようにしたい提出し、二重のようなものを想定しているが、さまざまな「おっと、私は二回をクリック」です。あなたが既に登録していることを忘れてサインアップした訪問者の場合は、データベースまたはニュースレターの電子メールアドレスを保存している場所を確認する必要があります。

+0

だから、私はデータベースを作成しなければならないようです... – gdinari

+0

データストレージの場合、データベースはちょっと意味があります。 – djn

0

入力した電子メールアドレスを、既に所有している電子メールアドレスのリストと照合する方法が必要です。これらの電子メールアドレス(サイト管理者の場合)がデータベースに保存されていない場合、またはあなたが見上げることができる他の方法であれば、あなたは不運になります。

サイト管理者からメールアドレスの保存方法を確認します。

+0

私はこのサイトの管理者です(開発中)。電子メールは電子メールアドレスに送信されます。 – gdinari

+0

ああそう。私はちょうど彼らがサイトの管理者に送信されたと言ってあなたの質問にあなたのコメントに基づいて行っていた。 –

関連する問題