PHP防止post重复提交数据的简单例子


Posted in PHP onJune 07, 2014

在某帝国面试的时候问题了这个题: 怎么处理post提交重复的问题, 后来跟@暖阳交流,他说记录时间,我没有明白,我想的是用session在表单页面记录下,然后提交页面判断,如果相等则视为成功,并清空session,但有个问题是如果表单页面是html的呢,乍办?要不调个php验证的页面?类似验证码的功能. 还有的说用 header头设置过期时间...但没试.以下是我php写的,经测试可用.

<?php
//开启session
session_start();
//如果有提交标识
if(isset($_GET['action']) && $_GET['action'] === 'save'){
 //如果有session且跟传过来的值一样才算提交
 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="<?php echo $auth;?>">
    <input type="text" name="userName">
   </li>
   <li>
    <input type="password" name="userpass">
   </li>
   <li>
    <input type="submit" value="走起">
   </li>
   <li>
    <?php echo time(); ?>
   </li>
  </ul>
 </form>
</body>
</html>
PHP 相关文章推荐
复杂检索数据并分页显示的处理方法
Oct 09 PHP
cmd下运行php脚本
Nov 25 PHP
php 图片上传类代码
Jul 17 PHP
PHP 手机归属地查询 api
Feb 08 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
优化WordPress的Google字体以加速国内服务器上的运行
Nov 24 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 PHP
php中Swoole的热更新实现代码实例
Mar 04 PHP
Laravel的加密解密与哈希实例讲解
Mar 24 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 #PHP
php 判断网页是否是utf8编码的方法
Jun 06 #PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 #PHP
php中数字0和空值的区别分析
Jun 05 #PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 #PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 #PHP
一组PHP加密解密函数分享
Jun 05 #PHP
You might like
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
2012/12/06 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python binascii 进制转换实例
2019/06/12 Python
Python Map 函数的使用
2020/08/28 Python
Python爬取某平台短视频的方法
2021/02/08 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
Reformation官网:美国女装品牌
2018/09/14 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
党支部特色活动方案
2014/08/20 职场文书
年终晚会活动方案
2014/08/21 职场文书