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

在微信环境中开发PHP页面时,遇到表单偶尔会自动提交两次的问题,怀疑与微信机制有关。为了解决这个问题,采用了使用session的方法。在表单提交时,生成一个随机数并post,服务器端检查session,如果session中没有该随机数则保存,如果已存在并与post来的随机数对比,相同则认为是重复提交,直接退出。这种方法有效地防止了表单的重复提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

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

问题原因

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

解决方法

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

代码示例:

表单部分

金额

placeholder="单位是元,精确到分,如:12.66" pattern="^([1-9]+(\.[0-9]{2})?|0\.[1-9][0-9]|0\.0[1-9])$">

当前余额:<?php echo $amount_available; ?>元

确认

处理表单提交if(isset($_POST['confirm'])) {

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

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

{

exit;

}

else

{

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

}

//continue....

}

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

更多微信开发之php表单微信中自动提交两次问题解决办法相关文章请关注PHP中文网!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值