PHP防止刷新重复提交页面的示例代码


Posted in PHP onNovember 11, 2015

PHP防止刷新重复提交页面的示例代码

作为phper,我们在开发和学习php过程中,难免要经常的接受处理表单数据,然而处理表单的时候总会有一个问题,困扰大家,刷新页面重复提交的问题。如何防止刷新页面重复提交呢?

PHP防止刷新重复提交,通过不断刷新(Refresh or Reload)表单提交页面,可以重复提交表单内容,可以利用 PHP 的 Session 来避免这一点,Session 保存在服务器端,在 PHP 过程中改变 Session 变量的值后,即保存在服务器端,下次访问这个变量时,得到是新赋的值,所以,可以用一个 Session 变量记录表单提交的次数,大于1时,就不再处理表单中的数据。

核心代码

以下为引用内容:

if (isset($_POST['action']) && $_POST['action'] == 'submitted') { 
session_start(); 
if (isset($_SESSION['submit_time']) && $_SESSION['submit_time']==0){ 
print '<pre>'; 
print_r($_POST); 
print '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>'; 
print '</pre>'; 
$_SESSION['submit_time']=1; 
echo $_SESSION['submit_time']; 
unset($_SESSION['submit_time']);
} else { 
print '<pre>'; 
print_r($_POST); 
echo "However you have submitted"; 
print '</pre>'; 
} 
} else { 
session_start() or dir("session is not started"); 
$_SESSION['submit_time']= 0; 
// isset($_SESSION['submit_time']) or die ("session var is not created"); 
// echo $_SESSION['submit_time']; 
?> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
Name: <input type="text" name="personal[name]"><br> 
Email: <input type="text" name="personal[email]"><br> 
Beer: <br> 
<select multiple name="beer[]"> 
<option value="warthog">Warthog</option> 
<option value="guinness">Guinness</option> 
</select><br> 
<input type="hidden" name="action" value="submitted"> 
<input type="submit" name="submit" value="submit me!"> 
</form> 
<?php 
} 
?>
PHP 相关文章推荐
php.ini 中文版
Oct 28 PHP
php URL验证正则表达式
Jul 19 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
php的hash算法介绍
Feb 13 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
Jul 18 PHP
php+mysql实现无限分类实例详解
Jan 15 PHP
php实现用于计算执行时间的类实例
Apr 18 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 PHP
Yii 框架入口脚本示例分析
May 19 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
Nov 11 #PHP
深入php内核之php in array
Nov 10 #PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
Nov 10 #PHP
php实现可运算的验证码
Nov 10 #PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 #PHP
深入理解PHP内核(二)之SAPI探究
Nov 10 #PHP
深入理解PHP内核(一)
Nov 10 #PHP
You might like
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php 操作调试的方法
2012/07/12 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
php多文件上传下载示例分享
2014/02/20 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
Gtech官方网站:地毯清洁器、吸尘器及园艺设备
2018/05/23 全球购物
2014庆六一活动方案
2014/03/02 职场文书
项目投资建议书
2014/05/16 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
模范教师材料大全
2014/12/16 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
教师节班会开场白
2015/06/01 职场文书
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android