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 相关文章推荐
PHP 中执行系统外部命令
Oct 09 PHP
PHP 高手之路(一)
Oct 09 PHP
第二节--PHP5 的对象模型
Nov 16 PHP
Memcache 在PHP中的使用技巧
Feb 08 PHP
php数据库抽象层 PDO
May 07 PHP
PHP全概率运算函数(优化版) Webgame开发必备
Jul 04 PHP
Trying to clone an uncloneable object of class Imagic的解决方法
Jan 11 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 PHP
PHP中类与对象功能、用法实例解读
Mar 27 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
PHP header()函数使用详细(301、404等错误设置)
2013/04/17 PHP
php目录拷贝实现方法
2015/07/10 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
Javascript面象对象成员、共享成员变量实验
2010/11/19 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
2020/06/24 Javascript
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Python优先队列实现方法示例
2017/09/21 Python
机器学习python实战之决策树
2017/11/01 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
学习Django知识点分享
2019/09/11 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
Python3 assert断言实现原理解析
2020/03/02 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
工艺工程师工作职责
2013/11/23 职场文书
质量月活动策划方案
2014/03/10 职场文书
鉴定评语大全
2014/05/05 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
目标责任书格式范文
2015/05/11 职场文书
话题作文之关于呼唤
2019/11/29 职场文书