微信开发之php表单微信中自动提交两次问题解决办法
2017-01-08 11:04
916 查看
前言:
最近做微信开发,在微信中访问PHP页面,页面中有个表单。测试发现偶尔会出现表单被自动提交两次的情况,导致流程出错。
问题原因
暂时未找到原因,不过怀疑跟微信本身的机制有关。
解决方法
用session,每次提交表单时,计算一个随机数post出去。页面处理表单提交时,先判断是否有这个session,如果不存在就保存,存在就和post过来的随机数比较,如果相等表示重复提交。
代码示例:
表单部分
<div class="odform"> <form action="#" method="post"> <div class="input-group"> <label for="amount_id">金额</label> <input type="text" name="amount" id="amount_id" placeholder="单位是元,精确到分,如:12.66" pattern="^([1-9]+(\.[0-9]{2})?|0\.[1-9][0-9]|0\.0[1-9])$"> <input type="hidden" name="code" value="<?php $code = mt_rand(0, 100000); echo $code; ?>"> </div> <div class="input-group"> <span id="available">当前余额:<?php echo $amount_available; ?>元</span> </div> <button name="confirm">确认</button> </form> </div>
处理表单提交
if(isset($_POST['confirm'])) { //解决重复调用两次的问题 if ($_POST['code'] == $_SESSION['code']) { exit; } else { $_SESSION['code'] = $_POST['code']; } //continue.... }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- php表单微信中自动提交两次问题
- php解决表单重复提交问题
- IE和FireFox按回车自动提交表单问题解决
- struts2表单提交乱码问题解决办法
- ajax开发过程表单提交数据出现乱码和解决办法
- AJAX和form表单提交的中文转码问题全面解决,encoderURL两次转码的真相
- php解决表单重复提交问题
- IE和FireFox按回车自动提交表单问题解决
- asp.net开发WAP时表单提交的问题及粗略的解决
- html中form表单向Jsp提交中文乱码问题基本解决办法
- 表单提交错误后返回内容消失问题的解决方法(PHP网站)
- php表单提交问题的解决方法
- php(LAMP)开发环境配置相关问题及解决办法
- 一次MOSS开发中iFrame表单提交的古怪问题解决
- 表单提交错误后返回内容消失问题的解决方法(PHP网站)
- struts2 表单提交乱码问题解决办法
- form表单底下的button按钮点击自动提交恶心问题的解决
- [绝对经典]Linux+Mysql+Apache+Php开发环境搭建全过程及问题的解决办法
- PHP关于如何解决表单POST传参数时,自动加转义字符的问题
- PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号