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+ajax实现无刷新文件上传功能(ajaxuploadfile)
这篇文章主要为大家详细介绍了php结合ajaxuploadfile实现无刷新文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-02-02
PHP中为什么使用file_get_contents("php://input")接收微信通知
微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器事件推送,通知到开发者中心设置的服务器地址(回调url),开发者可以获取到该信息。PHP中为什么使用file_get_contents("php://input")来接收呢?为什么有些场景php://input接收不到?2023-07-07
基于Discuz security.inc.php代码的深入分析
本篇文章是对Discuz security.inc.php的代码进行了详细的分析介绍,需要的朋友参考下2013-06-06


最新评论