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 has encountered an Access Violation
Jan 15 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
Laravel 5框架学习之Eloquent 关系
Apr 09 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 PHP
浅谈PHP中其他类型转化为Bool类型
Mar 28 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
jquery tools 系列 scrollable学习
2009/09/06 Javascript
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
js和jquery中获取非行间样式
2017/05/05 jQuery
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
python and or用法详解
2019/06/26 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
使用django实现一个代码发布系统
2019/07/18 Python
python输出带颜色字体实例方法
2019/09/01 Python
softmax及python实现过程解析
2019/09/30 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
python 实现IP子网计算
2021/02/18 Python
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
保护黄河倡议书
2014/05/16 职场文书
三严三实对照检查材料
2014/08/25 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
python微信智能AI机器人实现多种支付方式
2022/04/12 Python