繰り返し送信は、開発中によく遭遇する問題です。js を使用してフォームの繰り返し送信を防ぐだけでなく、php を使用して繰り返し送信を防ぐこともできます。
例1
コードは次のとおりです | コードをコピー |
/* * php でフォームの繰り返し送信を防ぐ方法 */ session_start(); if ( empty($_SESSION ['ip'])) {//最初の書き込み操作では、データベースに書き込むかどうかを知るために、IP アドレスが記録されているかどうかを判断します $_SESSION['ip'] = $_SERVER[' REMOTE_ADDR']; / /最初の書き込み、その後の更新またはリトリートの決定への道を開く //......//データベースへの書き込み操作 } else {//その後最初の書き込みがありました操作を実行すると、データベースに書き込まれなくなります echo 'もう一度更新して戻さないでください' // 書き込まれたプロンプトやその他の内容を書き込みます } ?> |
;原理
セッションスコープ変数トークンを防止します。
1. セッションを開きます:
session_start();
2. フォーム送信がある場合
コードをコピーします | |
if (isset($token))
|
トークンは非表示形式でフォームに含まれます。
コードは次のとおりです コードをコピー | |
3. // header("location:".$_SERVER['PHP_SELF']); else { 5. here
6. // echo "Submitted";
4. トークン値を設定します
コードをコピーします | | 1.$token = mt_rand(0,1000000);
2.$ _SESSION['トークン'] = $トークン;
|
http://www.bkjia.com/PHPjc/444586.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/444586.html |
技術記事 |
繰り返し送信は、開発中によく遭遇する問題です。js を使用してフォームの繰り返し送信を防ぐだけでなく、php を使用して繰り返し送信を防ぐこともできます。 例 1 コードは次のとおりです...
|