ホームページ >バックエンド開発 >PHPチュートリアル >PHP を解析してフォームの繰り返し送信を防ぐ方法_PHP チュートリアル

PHP を解析してフォームの繰り返し送信を防ぐ方法_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:01:43802ブラウズ

php フォームの繰り返し送信を防ぐ例:

コードをコピー コードは次のとおりです:

session_start();
$_SESSION['fsess']=($ _SESSION['fsess '])?$_SESSION['fsess']:time();
?>




フォームの繰り返し送信を防止する


JavaScriptとサーバーサイドの二重によるフォーム再送信防止のデモ




現在時刻:




if(@$_POST["派閥"]=="送信"||@$_GET["派閥" ]=="送信" ){
//送信処理

//*****サーバー側の反復送信防止********************* ***
//POSTで送信したフォームが生成された場合 SESSIONで保存したフォーム生成時間と同じです
//; 通常の送信です
//同じではありません
if($ _SESSION["fsess"]==$_POST["fpsess"]){
$_SESSION[ "fsess"]=time();
echo "コンテンツを送信:
n";
echo $_POST[ "fpsess"]."
n";;
echo $_POST[ "formtext"];
echo "";
exit;
} else {
echo 「繰り返し送信して終了! ! ! !
n";
echo "";
exit;
}
}
//$_SESSION["fsess"]=time();
?>

" />









************************************************ ***** ************
上記は完全な質問例であり、以下は参考のためのみウェブサイトからの抜粋です
******* *********** ************************************** ****
ユーザーがフォームを送信すると、ネットワーク速度、または Web ページが悪意を持って更新されたため、同じレコードがデータベースに繰り返し挿入される可能性があります。これはより困難な問題です。同じフォームを繰り返し送信することを避けるために、クライアント側とサーバー側から同時に開始することができます。

1.クライアント側スクリプトの使用
クライアント側スクリプトに関しては、一般的な入力検証に JavaScript がよく使用されます。次の例では、フォームの繰り返し送信を処理するためにこれを使用しています。以下のコードを参照してください:





ユーザーが「」をクリックしたとき「送信」ボタンをクリックすると、ボタンが灰色になり使用できなくなります。
上記の例では、OnClick イベントを使用してユーザーの送信ステータスが検出され、「送信」ボタンがクリックされると、ボタンはすぐに無効な状態に設定され、ユーザーはボタンを再度クリックして送信できなくなります。
別のメソッドもありますが、これも JavaScript の関数を使用しますが、OnSubmit() メソッドを使用します。 コードは次のとおりです。コードをコピーします
コードは次のとおりです: