フォームが繰り返し送信されるのを防ぐ方法
問題を解決するための Cookie メカニズムの導入(推奨学習: PHP プログラミング入門から習熟まで)
ユーザーはフォームをバックエンドに送信し、Cookie にマークを付けます。指定された時間内に繰り返し送信した場合は無効になります。ただし、ユーザーが Cookie を無効にすると、このメソッドは失敗します。
<?php if (isset($_COOKIE['formFlag'])) { exit('error'); } // 处理数据 // 30秒内重复提交无效 setcookie('formFlag', time(), time() + 30);
セッション
フォーム ページを表示すると、乱数が生成され、セッションとフォームの非表示フィールドに保存されます。初めて送信するときは、セッション内の値を比較し、正常に削除します。
PHP のセッション関数を使用すると、フォームの繰り返しの送信を回避することもできます。セッションはサーバー側に保存されます。セッション変数は、PHP の実行中に変更できます。次回この変数にアクセスすると、新しく割り当てられた値が取得されます。したがって、セッション変数を使用して、PHP によって送信された値を記録できます。フォームに一致しない場合は、繰り返し送信しているユーザーとみなされます。
rree以上がPHPでフォームが繰り返し送信されないようにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。