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 多维数组的排序问题 根据二维数组中某个项排序
Nov 09 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
微信支付开发教程(一)微信支付URL配置
May 28 PHP
Yii中使用PHPExcel导出Excel的方法
Dec 26 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
php指定长度分割字符串str_split函数用法示例
Jan 30 PHP
详解PHP中的 input属性(隐藏 只读 限制)
Aug 14 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
Laravel ORM 数据model操作教程
Oct 21 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
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
PHP实现简易图形计算器
2020/08/28 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
对python 自定义协议的方法详解
2019/02/13 Python
python sort、sort_index方法代码实例
2019/03/28 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
python利用7z批量解压rar的实现
2019/08/07 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
交通事故协议书范文
2014/10/23 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
《风筝》教学反思
2016/02/23 职场文书
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL