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(3)
Oct 09 PHP
php摘要生成函数(无乱码)
Feb 04 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
支付宝接口开发集成支付环境小结
Mar 17 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
Jul 02 PHP
PHP两种实现无级递归分类的方法
Mar 02 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
Laravel实现短信注册的示例代码
May 29 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 连接mysql连接被重置的解决方法
2011/02/15 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
Vue.js系列之项目结构说明(2)
2017/01/03 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
Python求导数的方法
2015/05/09 Python
Android分包MultiDex策略详解
2017/10/30 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
Python实现画图软件功能方法详解
2020/07/28 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
初中班主任寄语
2014/04/04 职场文书
安全协议书范本
2014/04/21 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
工作态度检讨书范文
2015/05/06 职场文书
linux下安装redis图文详细步骤
2021/12/04 Redis
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS