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操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
yii框架builder、update、delete使用方法
Apr 30 PHP
PH P5.2至5.5、5.6的新增功能详解
Jul 14 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
thinkPHP5.0框架开发规范简介
Mar 25 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
php用xpath解析html的代码实例讲解
Feb 14 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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文章按日期(月日)SQL归档语句
2012/11/29 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
yii框架无限极分类的实现方法
2017/04/08 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
jQuery技巧总结
2011/01/01 Javascript
基于jquery的放大镜效果
2012/05/30 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
2015/02/26 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
关于vue组件事件属性穿透详解
2019/10/28 Javascript
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
opencv+python实现均值滤波
2020/02/19 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
大学毕业感言一句话
2014/02/06 职场文书
给老婆的保证书范文
2014/04/28 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
2014和解协议书范文
2014/09/15 职场文书
组织委员竞选稿
2015/11/21 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript