php 防止表单重复提交两种实现方法


Posted in PHP onNovember 03, 2016

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计算上一个月的今天
May 23 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
PHP+MySQL实现模糊查询员工信息功能示例
Jun 01 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
解决Laravel5.5下的toArray问题
Oct 15 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 PHP
PHP HTTP 认证实例详解
Nov 03 #PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 #PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
Nov 02 #PHP
php 使用redis锁限制并发访问类示例
Nov 02 #PHP
Android AsyncTack 异步任务实例详解
Nov 02 #PHP
php array_pop 删除数组最后一个元素实例
Nov 02 #PHP
PHP设置images目录不充许http访问的方法
Nov 01 #PHP
You might like
9个PHP开发常用功能函数小结
2011/07/15 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
Python(Tornado)模拟登录小米抢手机
2013/11/12 Python
python发送邮件实例分享
2017/07/28 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
给物业的表扬信
2014/01/21 职场文书
求职信范文怎么写
2014/01/29 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2014年教学工作总结
2014/11/13 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python