帝国CMS解决360等浏览器会重复表单提交导致加入购物车的商品数量翻倍的问题!

最近在用帝国cms商城的购物车功能时发现,用360浏览器商品加入购物车后,购物车产品的数量会翻倍,后来发现是360浏览器在用submit提交表单时,会出现两次验证,导致表单重复提交。

解决的思路就是在产品页的加入购物车的表单中添加一个随机数,用于做判断。

然后在购物车的验证页面,建议一个COOKIE缓存字段,每次产品加入购物车,在验证页面中,通过判断COOKIE缓存字段的值是否和get传递过来的随机数相同,来确定表单是否重复提交。

如果相同,该产品则不加入购物车,并将COOKIE缓存字段的值清空。

如果不相同,则将该产品加入购物车,并将COOKIE缓存字段的值设置为get传递过来的随机数。

这样浏览器如果出现重复提交,COOKIE缓存字段的值就会与get传递过来的随机数相同,便可以阻止表单重复提交;

解决方法如下:

1、在帝国cms产品模板的加入购物车的表单中加入以下代码

<input type="hidden" name="gd_yanzhenghao" value="" id="gd_yanzhenghao">

//建立一个判断用的随机数

2、在表单的提交按钮中加入:

onclick="alpj_gongdanhao()"

也就是在 <input name=”submit”  type=”submit”····> 这一行中加入;

3、在产品页加入以下js

—————————————————————————-

<script>

function alpj_gongdanhao() {

var prefix = '';

for (var j = 0; j < 12; j++) {

prefix = prefix + Math.floor(Math.random() * 15);

}

var pj_showGD =prefix;

document.getElementById("gd_yanzhenghao").value = pj_showGD;

}

//获取文本框的值,若文本框为空则自动生成随机日期

function SJ_PageLoad(){

var neirong_sj = document.getElementById("gd_yanzhenghao").value;

if ( neirong_sj == null || neirong_sj == undefined || neirong_sj=="" ){

console.log( alpj_gongdanhao() );//自动执行上方函数然后自动输入一个随机工单号

}

}

</script>

——————————————————–

3、打开eadminShopSysclasshShopSysFun.php文件

找到以下函数:

//加入购物车

function AddBuycar($classid,$id,$pn=1,$add){

在该函数的结尾加上一个“}”符号

然后在该函数中找到以下代码,约在该函数的第五行:

if(empty($classid)||empty($id)||empty($class_r[$classid][tbname]))

在其上方加入以下代码:

——————————————————————————–

$gd_chongfuPD=$_COOKIE["gd_chongfuPD"];

if($gd_chongfuPD==$_GET['gd_yanzhenghao']){

$gd_chongfuPD='';

// 发送一个缓存cookie用做判断

setcookie("gd_chongfuPD",$gd_chongfuPD);

header("location:/e/ShopSys/buycar/");

}else{

$gd_chongfuPD=$_GET['gd_yanzhenghao'];

// 发送一个缓存cookie用做判断

setcookie("gd_chongfuPD",$gd_chongfuPD);

—————————————————————————-

1、本站所有资源来源于用户上传和网络,版权争议与本站无关,版权归原创者所有,如有侵权请邮件联系我们!
2、分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3、不得使用于非法商业用途,商用请购买正版,不得违反国家法律。否则后果自负!
4、本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5、如有链接无法下载、失效或广告,请联系管理员处理!
6、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7、不保证所有资源都完整可用,不排除存在加密、BUG、需要授权或者残缺的可能,由于资源的特殊性,下载后一律不予退货!
8、本文来自炫客网搜集整理,如有侵权请联系管理员删除,转载请注明出处:https://www.xuankewang.com/183.html

联系我们

173-662-005

在线咨询: QQ交谈

邮件:woowuo@126.com

工作时间:周一至周五,10:30-18:30,节假日休息

关注微信
我已知晓并同意