PHP のヒント: フォームの重複送信を避ける方法

WBOY
リリース: 2016-06-21 09:01:10
オリジナル
776 人が閲覧しました

「重複送信」の問題に遭遇したことがありますか?この問題を解決するのは難しくありません。同じフォームの重複送信を避ける簡単な方法を次に示します。

まず、フォームの送信シーケンス番号を保存するセッション変数を定義できます。ここでは「$userLastAction」として定義します。

次に、フォームに隠し変数を追加し、値を $userLastAction+1 に設定します。

>

最後に、送信を処理する前にフォームが送信されたかどうかを確認します:

if($lastAction>$userLastAction and inputIsValid(...)){
$ userLastAction++; // シリアル番号に 1 を追加します
// フォーム データを処理します
}

複数のフォーム送信を回避します
提出者: Douglas E. Cook
日付: 07/26 /00 19:46
データベースは「重複投稿」症候群に悩まされていますか? 解決方法はそれほど難しくありません。

まず。 、各フォームのシリアル番号を保存するセッション変数を宣言します。これを「$userLastAction」と呼びます。次に、重複送信が問題になるすべてのフォームに隠しフィールドを含め、値を $userLastAction+1 に設定します。 >

>

最後に、フォームを実行する前に、フォームが以前に送信されていないことを確認します。 submit:

if($lastAction>$userLastAction and inputIsValid(...)){

$userLastAction++; // シリアル番号をインクリメントします
// ここでフォームに基づいて処理します
}

これは、フォームの繰り返しの送信を避けるためのちょっとしたトリックです。これにより、一部のフラッディングを防ぐことができます。さらに、ネットワーク状況やその他の理由により、ユーザーが送信が成功したかどうかがわからず、同じフォームを再度送信することがあります。

この手法の主な原則は、ユーザーが復帰後に再送信できないことです。つまり、復帰後の変更と再送信は許可されておらず、Ctrl-C/Ctrl-V の灌漑方法は避けられません。 。役に立つかどうかはウェブマスターの好みによって決まります。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!