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 相关文章推荐
模仿OSO的论坛(二)
Oct 09 PHP
php中hashtable实现示例分享
Feb 13 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
PHP安全上传图片的方法
Mar 21 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
PHP中session跨子域的三种实现方法
Jul 25 PHP
php实现头像上传预览功能
Apr 27 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP receiveMail实现收邮件功能
Apr 25 PHP
php微信公众号开发之二级菜单
Oct 20 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 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的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
PHP内置加密函数详解
2016/11/20 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
Python合并字符串的3种方法
2015/05/21 Python
Python部署web开发程序的几种方法
2017/05/05 Python
python调用API实现智能回复机器人
2018/04/10 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Python中logging实例讲解
2019/01/17 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
python 通过exifread读取照片信息
2020/12/24 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
教师专业理论水平的自我评价分享
2013/11/09 职场文书
中秋寄语大全
2014/04/11 职场文书
教师岗位职责范本
2015/04/02 职场文书
赤壁观后感(2)
2015/06/15 职场文书
运动会加油稿
2015/07/22 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书