Home > Article > Backend Development > Solution to PHP adding Session to prevent repeated submission of forms
This article mainly introduces the solution to prevent repeated submission of forms in PHP Session. Now I share it with you. Friends who need it can refer to it
index.php
The current form page is_submit is set to 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
If the form is submitted, set the current 'is_submit to 1, if refreshed post.php, then the else code will be executed
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>"; } }
## php Introduction to the implementation method of solving repeated submission of forms
[Introduction] Repeated submission is a problem we often encounter in development. In addition to using js to prevent repeated submission of forms, we can also use php to prevent repeated submission. Example 1 The code is as followsDuplicate submission is a problem we often encounter in development. In addition to using js to prevent repeated submission of forms, we can also use php to prevent repeated submission. oh.<?php /* * php中如何防止表单的重复提交 */ session_start(); if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库 $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次写入,为后面刷新或后退的判断做个铺垫 //...........//写入数据库操作 } else {//已经有第一次写入后的操作,也就不再写入数据库 echo '请不要再次刷新和后退'; //写一些已经写入的提示或其它东西 } ?>Specific principlesession scope variable token to prevent. 1. Open session:
session_start();
if (isset($token))
<input type="hidden" name="token" value="<?php echo $token; ?>" />3. If the form is submitted repeatedly The code is as follows
if ($_SESSION["token"] != $token) { // 不让重复提交,在此处理 // header("location:".$_SERVER['PHP_SELF']); } else { // 正常的表单提交,在此处理 // echo "已提交"; }4. Set the token value # code as follows
#PHP database save session
Introduction to PHP Session
PHP Development SESSION principles and use detailed explanation
#
The above is the detailed content of Solution to PHP adding Session to prevent repeated submission of forms. For more information, please follow other related articles on the PHP Chinese website!