データベースに追加するためのコードは次のとおりです。
<?php
/*Config*/
PHP セッション変数を使用して簡単に実現できるように思えます。
セッションを使用してセッション変数を設定し (posted または何かと呼びます)、その変数が設定されている場合は、ユーザーが投稿できないようにします (送信ボタンを非表示にするか、JavaScript で PHP の if ステートメントを使用してアクションのみを実行します)。その変数が設定されていない場合)。
ユーザーがブラウザを閉じると、セッションはクリアされます。
考えられる例として、データベースに追加するための PHP コードで、これを先頭に置くだけです。
session_start();
if (isset($_SESSION['posted']))
die("posted");
$_SESSION['posted'] = true;
else if
別のステートメントを追加するだけです。次のようになります。
if(response == "knownudid"){
document.getElementById('udid_message').innerHTML = '<br><i><font color="red">This UDID has already been inserted and it is valid.</font></i>' ;
}else if(response == "noudid"){
document.getElementById('udid_message').innerHTML = '<br><i><font color="orange">Please, enter your UDID.</font></i>' ;
}else if(response == "errudid"){
document.getElementById('udid_message').innerHTML = '<br><i><font color="red">It seems this UDID is not correct. Please check for typo.</font></i>' ;
}else if(response == "validatedudid"){
document.getElementById('udid_message').innerHTML = '<br><i><font color="green">This UDID has been found as an invalid one. Now it is valid.</font></i>' ;
}else if(response == "posted"){ // Here is the new one
document.getElementById('udid_message').innerHTML = '<br><i><font color="red">You have already posted a UDID for this session.</font></i>' ;
}else{
document.getElementById('udid_message').innerHTML = '<br><i><font color="green">UDID <b>'+response+'</b> successfully inserted.</font></i>';
}
素敵な jQuery または js を使用すると、ユーザーが送信した後にフォームを非表示にすることができます。
HTML 要素内に JavaScript を配置するのは良くありません。 <script> タグに移動するか、別の .js ファイルに移動することをお勧めします。
HTML5 ブラウザーの場合、placeholder
テキスト フィールドの指示を提供するより洗練された方法です。
AJAX を使用してフォームを送信する場合は、関数内にinsert_udid()
次を追加します。
.
document.getElementById('your_button_or_form').disabled = true;
// or document.getElementById('your_form').style.visibility = 'hidden';
...それ以外の場合は、php コードでフォームを無効にするか、応答 HTML から除外する必要があります。