帝国CMS解决360等浏览器会重复表单提交导致加入购物车的商品数量翻倍的问题!
用帝国cms商城的购物车功能时发现,用360浏览器将商品加入购物车后,购物车产品的数量会翻倍,后来发现是360浏览器在用submit提交表单时,会出现两次验证,导致表单重复提交。解决的思路就是在产品页的加入购物车的表单中添加……
<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);
- 上一篇
帝国CMS信息置顶扣除相应积分
首先在所需的系统模型中添加int字段 top,单选按钮0,1(0为否,1为是)。主要修改e/class/qinfofun.php两处 一处为增加,一处为编辑。在文件中找到esetcookie("lastaddinfotime",time(),time()+3600*24);下面到//-------------
- 下一篇
帝国CMS二次开发替换“当前位置导航newsnav
相对官方的[!--newsnav--],解决样式死板,可随意更改输出的样式。有的栏目用的二级域名,比如资讯页面,我想[!--newsnav--]显示的是 资讯首页>xxx>xxx 而不是 首页>资讯>xxx>xxx,用[!--newsnav--]就实现不了