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 相关文章推荐
实用函数4
Nov 08 PHP
在Windows系统上安装PHP运行环境文字教程
Jul 19 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
PHP基础知识介绍
Sep 17 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 PHP
Laravel中获取IP的真实地理位置
Apr 01 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之curl实现http与https请求的方法
2014/10/21 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JavaScript类继承及实例化的方法
2015/07/25 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
浅析Vue 防抖与节流的使用
2019/11/14 Javascript
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
python中的itertools的使用详解
2020/01/13 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
廉洁教育学习材料
2014/05/19 职场文书
促销活动总结怎么写
2014/06/25 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
监守自盗观后感
2015/06/10 职场文书
2015年暑假生活总结
2015/07/13 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技