前言:
最近做微信开发,在微信中访问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
相关文章
猜你喜欢
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 67
-
网站服务器出租:云服务器 vs 传统物理服务器,哪个更合适?
2025-05-27 75 -
2025-06-04 38
-
2025-05-27 12
-
2025-05-25 82
热门评论