ホームページ >php教程 >php手册 >フォームの重複送信を避ける方法

フォームの重複送信を避ける方法

WBOY
WBOYオリジナル
2016-06-21 09:07:441073ブラウズ

重複|重複送信

「重複送信」の問題に遭遇したことはありますか?この問題を解決するのは難しくありません。同じフォームの重複送信を避ける簡単な方法を次に示します。
まず、フォームの送信シーケンス番号を保存するセッション変数を定義できます。ここでは「$userLastAction」として定義します。次に、フォームに隠し変数を追加し、値を $userLastAction+1 に設定します。
> 最後に、送信を処理する前に、フォームが送信されたかどうかを判断します:
if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // シーケンス番号に 1 を追加します
// フォーム データを処理します
}

元のテキスト:
複数のフォーム送信を避ける
投稿者: Douglas E. Cook
日付: 07/26/00 19:46
あなたのデータベースは「重複投稿」症候群に悩まされていますか? 治療法はそれほど難しくありません。ユーザーが同じフォームを複数回送信できないようにします。

まず、各フォームのシリアル番号を保存するセッション変数を宣言します。次に、重複した送信が問題になるすべてのフォームに、非表示の変数を含めます。フィールドに値を設定し、値を $userLastAction+1 に設定します:

> 最後に、フォームが以前に作成されていないことを確認します。送信に基づいて動作する前に送信されます:

if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // シリアル番号をインクリメントします
// ここでフォームに基づいて動作します
}

翻訳元: phpbuilder
これは、フォームの重複送信を避けるための単なるヒントです。これにより、一部のフラッディングを防ぐことができます。さらに、ネットワーク状況やその他の理由により、ユーザーが送信が成功したかどうかがわからず、同じフォームを再度送信することがあります。
この手法の主な原則は、ユーザーが復帰後に再送信できないことです。つまり、復帰後の変更と再送信は許可されておらず、Ctrl-C/Ctrl-V の灌漑方法は避けられません。役に立つかどうかはウェブマスターの好みによって決まります。





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。