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 magic_quotes_gpc的一点认识与分析
Aug 18 PHP
PHP 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
php中simplexml_load_file函数用法实例
Nov 12 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
php5与php7的区别点总结
Oct 11 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
Jan 22 PHP
PHP如何解决微信文章图片防盗链
Dec 09 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
mysql中存储过程、函数的一些问题
2007/02/14 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
Python可跨平台实现获取按键的方法
2015/03/05 Python
Python的动态重新封装的教程
2015/04/11 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
Python数据类型详解(三)元祖:tuple
2016/05/08 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
学术诚信承诺书
2014/05/26 职场文书
大专生找工作自荐书
2014/06/10 职场文书
作风大整顿心得体会
2014/09/10 职场文书
文明家庭事迹材料
2014/12/20 职场文书
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers