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容器类的两种实现方式示例

PHP正则验证字符串是否为数字的两种方法并附常用正则

PHP删除数组中特定元素的两种方法

php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式

PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】