微信开发之php表单微信中自动提交两次问题解决办法

2025-05-29 0 88

前言:

最近做微信开发,在微信中访问PHP页面,页面中有个表单。测试发现偶尔会出现表单自动提交两次的情况,导致流程出错。

问题原因

暂时未找到原因,不过怀疑跟微信本身的机制有关。

解决方法

用session,每次提交表单时,计算一个随机数post出去。页面处理表单提交时,先判断是否有这个session,如果不存在就保存,存在就和post过来的随机数比较,如果相等表示重复提交。

代码示例:

表单部分

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
<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>

处理表单提交

?

1

2

3

4

5

6

7

8

9

10

11

12

13
if(isset($_POST['confirm'])) {

//解决重复调用两次的问题

if ($_POST['code'] == $_SESSION['code'])

{

exit;

}

else

{

$_SESSION['code'] = $_POST['code'];

}

//continue....

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://blog.csdn.net/pony_maggie/article/details/52848982

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 微信开发之php表单微信中自动提交两次问题解决办法 https://www.kuaiidc.com/95460.html

相关文章

发表评论
暂无评论