加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中防止post提交想相同的数据

发布时间:2023-09-06 12:51:39 所属栏目:PHP教程 来源:
导读:重复提交数据我们在应用中经常会碰到了,今天我给各位介绍利用session来防止用户不小心重复提交数据的一个例子.

原理非常的简单,就是用session在表单页面记录下,然后提交页面判断,如果相等则视为成功,并清空sessio
重复提交数据我们在应用中经常会碰到了,今天我给各位介绍利用session来防止用户不小心重复提交数据的一个例子.

原理非常的简单,就是用session在表单页面记录下,然后提交页面判断,如果相等则视为成功,并清空session.

例子,代码如下:

<?php 
//开启session 
session_start(); 
 
//如果有提交标识 
if(isset($_GET['action']) && $_GET['action'] === 'save'){ 
 
 //如果有session且跟传过来的值一样 www.Cuoxin.com 才算提交 
 if(isset($_SESSION['__open_auth']) && isset($_POST['auth']) && $_SESSION['__open_auth'] == $_POST['auth']){ 
  print_r($_POST); 
  $_SESSION['__open_auth'] = null;//清空 
 } else { 
 
  //走起 
  header("location: post.php"); 
 } 
 exit(); 

 
//授权 
$auth = $_SESSION['__open_auth'] = time(); 
 
?> 
<!doctype html> 
<html> 
<head> 
 <meta charset="UTF-8"> 
 <title>post</title> 
</head> 
<body> 
 <form action="post.php?action=save" method="post"> 
  <ul> 
   <li> 
    <input type="hidden" name="auth" value="1395454119"> 
    <input type="text" name="userName"> 
   </li> 
   <li> 
    <input type="password" name="userpass"> 
   </li> 
   <li> 
    <input type="submit" value="走起"> 
   </li> 
   <li> 
    1395454119   </li> 
  </ul> 
 </form> 
</body> 
</html>

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章