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的ASCII码转换类
Jul 05 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
ThinkPHP中order()使用方法详解
Apr 19 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
基于Laravel实现的用户动态模块开发
Sep 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下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
javascript常用的方法分享
2015/07/01 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Python下载懒人图库JavaScript特效
2015/05/28 Python
分析Python中解析构建数据知识
2018/01/20 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
建筑专业自我鉴定
2013/10/22 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
银行求职自荐信
2014/06/30 职场文书
婚宴父亲致辞
2015/07/27 职场文书
汶川大地震感悟
2015/08/10 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
公司年会主持词范文!
2019/05/07 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
CocosCreator如何实现划过的位置显示纹理
2021/04/14 Javascript
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python