php 防止表单重复提交几种方法
时间:2016-01-02
由于网络原因,经常出来点了提交按钮,网页没有反应,而进行再次点击。这样就导致后台收到两次提交,从而进行两次处理,本文章向大家介绍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分钟。
- 大金主撑腰 4声母Mynt.com竟36万元结拍
- ASP.NET MVC4 Web API 堆栈将添加指定消息处理功能
- 页面copyright部分始终居于页面底部
- Hammock for REST
- 网页超过一屏时自动浮动在网页最上方的图层特效
- 关于gcc、glibc和binutils模块之间的关系
- 贝叶斯过滤算法
- 強大的jQuery Chart组件-Highcharts
- vue2.0 配置 选项 属性 方法 事件 ——速查
- 亲密接触IIS 8和Web Deploy 3.0
- vue2.0 组件通信
- 在MongoDB中实现聚合函数
- 原生JS编写的照片墙效果实例演示特效
- 使用SuperWebSocket 构建实时 Web 应用
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 万字图解Java多线程
- 金九银十要来了?不要慌,这些Android BAT高级面试题刷一刷
- 【SpringBoot DB 系列】Jooq 初体验
- Android轻量级APM性能监测方案
- 保持 Go 模块兼容
- Go 模块:v2 及更高版本
- 发布 Go Modules
- SRA toolkit下载数据
- 【测试开发-1】基于Springboot+layui实现接口自动化平台
- 【SpringBoot-2】SLF4J+logback进行日志记录
- 【JMeter-3】JMeter参数化4种实现方式
- 【JMeter-1】JMeter安装与接口测试入门
- 【JMeter-2】JMeter接口测试之断言实现
- 【UI自动化-1】UI自动化环境搭建与简单示例
- 【UI自动化-2】UI自动化元素定位专题