当前位置: 洪哥笔记 > PHP > PHP防止重复提交

 

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防止重复提交:http://www.splaybow.com/post/php-forbid-submit-double-164408231120157718.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« php计算两个时间相差的天数、小时数、分钟数、秒数 wdphp之select搜索并固定值 »

相关文章:

PHP操作redis的方法集锦  (2020/2/3 20:52:58)

微信支持vcard格式的链接来添加名片  (2019/10/30 8:45:45)

PHP中date函数的使用  (2018/10/22 13:59:52)

PHP把图片转换成圆形png(头像处理)  (2018/11/1 7:56:59)

PHP使用curl执行后台异步任务  (2018/10/1 7:23:30)

php调用zip压缩一个文件夹  (2018/8/25 11:58:18)

PHP不缓存直接输出到浏览器端  (2017/12/21 7:14:23)

PHP中is_empty、is_null、isset的区别  (2017/9/21 7:44:11)

PHP生成GUID  (2017/9/6 7:39:17)

Windows下PHPWord 报错 Could not close zip file  (2017/6/9 7:09:22)