この記事の内容は、フォームの繰り返し送信を防ぐための PHP ソリューションです。必要な友達はこの記事の内容を参照してください
<br>
PHP+SESSION はフォームの繰り返し送信を防ぎます。 Index.php<br>
現在のフォームページ is_submit は 0 に設定されます
SESSION_START(); $_SESSION['is_submit'] = 0;
<form id="reg" action="post.php" method="post"> <p>用户名:<input type="text" class="input" name="username" id="user"></p> <p>密 码:<input type="password" class="input" name="password" id="pass"></p> <p>E-mail:<input type="text" class="input" name="email" id="email"></p> <p><input type="submit" name="submit" class="btn" value="提交注册"/></p> </form>
フォームが送信された場合、post.php が更新された場合は、現在の 'is_submit を 1 に設定します, then else が実行されます コード
SESSION_START(); if (isset($_POST['submit'])) { if ($_SESSION['is_submit'] == '0') { $_SESSION['is_submit'] = '1'; echo "代码块,要做的事,代码...<a onclick='history.go(-1);' href='javascript:void(0)'>返回</a>"; } else { echo "请不用重复提交<a href='index.php'>PHP+SESSION防止表单重复提交</a>"; } }
<br>
【はじめに】 繰り返し送信は開発においてよく遭遇する問題です。 js を使用してフォームの繰り返し送信を防ぐだけでなく、php を使用して繰り返し送信を防ぐこともできます。例 1 コードは次のとおりです コードをコピーします繰り返し送信は、開発中に頻繁に遭遇する問題です。js を使用してフォームの繰り返し送信を防ぐことに加えて、php を使用することもできます。 例1
コードをコピー | |
/* * php でフォームの繰り返し送信を防ぐ方法 */ session_start(); if (empty( $_SESSION['ip'])) {//最初の書き込み操作では、データベースに書き込むかどうかを知るために、IP アドレスが記録されているかどうかを判断します $_SESSION['ip'] = $ _SERVER['REMOTE_ADDR'] ; // 初めて書き込まれ、後で更新されるか後退するか判断するための舗装を行います ////// データベースへの書き込み操作} Else {// はすでに最初の操作を行っています初回書き込み後の操作はデータベースに書き込まれなくなります echo 'もう一度更新してバックオフしないでください' // 書き込まれたプロンプトやその他の内容を書き込みます } ?><br> |
コードは次のとおりです | |
<br>
コードをコピーします | |
<br>
コードをコピーします | |
2. // いいえ、重複した送信はここで処理されます 3. // header("location:".$_SERVER['PHP_SELF']); else { <br>5.送信はここで処理されます <br>6. // echo "Submitted"; }<br><br><br><br> コードは次のとおりです |
1.$token = mt_rand(0,1000000 ) ;
2.$_SESSION['token'] = $token;以上がフォームの繰り返し送信を防ぐ PHP ソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。