php 防止表单重复提交两种实现方法
php 防止表单重复提交
由于网络原因,经常出来点了提交按钮,网页没有反应,而进行再次点击。这样就导致后台收到两次提交,从而进行两次处理,本文章向大家介绍php 防止表单重复提交的几种方法
1、前端解决
方法一:
可以通过前端来解决。当用户点了提交按钮之后,先使用js进行有效性判断,没问题后,将提交按钮”禁用“掉。然后再提交!
方法二:
使用ajax提交表单。点了提交按钮后,禁用提将按钮,或者设置一个状态值,将其设为1,表示正在提交。再提交时判断如果正在提交,则不作处理。等ajax返回后,再恢复状态。
2、后端解决
有时候前端无法完全解决问题,比如我用了jquery.validateEngine,没有办法设置状态。所以考虑后端解决。
if(session("act_last_time") != ''){ if(floor( (time()-(int)session("act_last_time")) % 86400 / 60) <1 ){ $this->error("对不起,一分钟之内不能频繁提交!", U('Wap/MyAct/list'), 5); } }else{ $t = (int)time(); echo $t; $_SESSION("act_last_time", $t); }
后端解决不怎么友好,但绝对有效。即对提交频率进行控制。我这里设置的是1分钟。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
php表单敏感字符过滤类
本文实例讲述了php表单敏感字符过滤类及其用法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: /** * 表单生成验证文件 */ $_form = new formHtmlFind(); class formHtmlFind{ /** * 输出表单函数 * $formKey 表单键 * $infoArray 更新时的原始信息数组 */ public function for
-
PHP实现表单提交时去除斜杠的方法
本文实例讲述了PHP实现表单提交时去除斜杠的方法.分享给大家供大家参考,具体如下: <html> <head> <title>HTML 表单</title> </head> <body> <form action="" method="POST"> 请输入一个字符串: <input type="text" size="30" name=&
-
php实现过滤表单提交中html标签的方法
本文实例讲述了php实现过滤表单提交中html标签的方法.分享给大家供大家参考.具体实现方法如下: 有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法. 近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target=
-
表单提交错误后返回内容消失问题的解决方法(PHP网站)
表单提交错误后返回内容消失怎么办呐,今天就来分析解决一下这个问题. 状况概述: 做填写表单信息提交的时候会碰到一个问题就是当用户填写并提交表单后,程序判断不符合要求并返回,返回之后之前填写的表单信息会被清空了的情况.如果填写的信息量少还无所谓,如果填写的信息量比较多,这会直接打击到填写信息的人的良好心情.因此解决表单提交错误返回后填写的内容消失的问题是一个提高用户体验度的迫在眉睫的问题. 对于这种问题,综合总结了大概有下面几种情况: (1)页面使用了session_start函数,这个函数有个特
-
浅谈php提交form表单
处理GET请求 实现的功能是输入姓名后页面显示"Hello XXX" 创建html文件hello.html: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>欢迎</title> </head> <body> <form action="hell
-
php表单加入Token防止重复提交的方法分析
本文实例讲述了php表单加入Token防止重复提交的方法.分享给大家供大家参考,具体如下: Token浅谈 Token,就是令牌,最大的特点就是随机性,不可预测.一般黑客或软件无法猜测出来. 那么,Token有什么作用?又是什么原理呢? Token一般用在两个地方--防止表单重复提交.anti csrf攻击(跨站点请求伪造). 两者在原理上都是通过session token来实现的.当客户端请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中,然后将Token发
-
PHP对表单提交特殊字符的过滤和处理方法汇总
PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string等几个函数联合使用,与大家共同交流. 一.几个与特殊字符处理有关的PHP函数 函数名 释义 介绍 htmlspecialchars 将与.单双引号.大于和小于号化成HTML格式 &转成&"转成"' 转成'<转成<>转成> htmlentitie
-
php防止用户重复提交表单
我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦. 效果图: 那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手: 首先从前端做限制.前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚本则失效. 第二,我们可以在提交后做redirect页面重定向,
-
php过滤表单提交的html等危险代码
PHP过滤提交表单的html代码里可能有被利用引入外部危险内容的代码.例如,有些时候用户提交表单中含有html内容,但这可能造成显示页面布局混乱,需要过滤掉. 方法一: 复制代码 代码如下: //get post data function PostGet($str,$post=0) { empty($str)?die('para is null'.$str.'!'):''; if( $post ) { if( get_magic_quotes_gpc() ) {
-
php实现表单多按钮提交action的处理方法
表单内有两个提交按钮,要实现当点击不同的提交按钮时,分别进行两个不同的处理过程,在这里有实现表单多按钮提交action的处理方法分享给大家. 用PHP判断,一个表单两个按钮,按钮的name属性设为相同,但值设为不同,表单提交后,只需要判断提交上来的值就可以转到不同的处理过程去,这个方法比较合理,适合多个按钮在一个表单里. PHP方法,代码如下: <?php echo "$sub<br>\n"; if ("s1"==$sub) { ... } els
-
AJAX PHP无刷新form表单提交的简单实现(推荐)
ajax.php: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <script language="javascript"> function saveUserInfo() { //获取
随机推荐
- Delphi基本图像处理方法汇总
- 完美实现浮动元素横排居中显示
- 详解SQL Server数据库状态和文件状态
- javascript 模拟Marquee文字向左均匀滚动代码
- 详解Java判断是否是整数,小数或实数的正则表达式
- 主控端与受控端升级的常见问题
- oracle表空间的创建及dmp 文件的导入(推荐)
- [Oracle] dbms_metadata.get_ddl 的使用方法总结
- ES6中非常实用的新特性介绍
- Linux下如何使用grep命令查找带有tab(退格)的字符
- Yii2 rbac权限控制操作步骤实例教程
- thinkphp实现把数据库中的列的值存到下拉框中的方法
- Android 状态栏虚拟导航键透明效果的实现方法
- C语言中使用lex统计文本文件字符数
- Oracle 创建监控账户 提高工作效率
- jquery实现图片滚动效果的简单实例
- jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
- jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
- php使用preg_match()函数验证ip地址的方法
- 深入解析System.load 与 System.loadLibrary