花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來(lái)到素材無(wú)憂(yōu)網(wǎng),按 + 收藏我們
登錄 注冊(cè) 退出 找回密碼

解決帝國(guó)CMS在360瀏覽器會(huì)重復(fù)表單提交導(dǎo)致加入購(gòu)物車(chē)的商品數(shù)量翻倍的問(wèn)題!

時(shí)間: 2024-02-25 09:24 閱讀: 作者:素材無(wú)憂(yōu)網(wǎng)

最近在用帝國(guó)cms商城的購(gòu)物車(chē)功能時(shí)發(fā)現(xiàn),用360瀏覽器將商品加入購(gòu)物車(chē)后,購(gòu)物車(chē)產(chǎn)品的數(shù)量會(huì)翻倍,后來(lái)發(fā)現(xiàn)是360瀏覽器在用submit提交表單時(shí),會(huì)出現(xiàn)兩次驗(yàn)證,導(dǎo)致表單重復(fù)提交。

解決的思路就是在產(chǎn)品頁(yè)的加入購(gòu)物車(chē)的表單中添加一個(gè)隨機(jī)數(shù),用于做判斷。

然后在購(gòu)物車(chē)的驗(yàn)證頁(yè)面,建議一個(gè)COOKIE緩存字段,每次產(chǎn)品加入購(gòu)物車(chē),在驗(yàn)證頁(yè)面中,通過(guò)判斷COOKIE緩存字段的值是否和get傳遞過(guò)來(lái)的隨機(jī)數(shù)相同,來(lái)確定表單是否重復(fù)提交。

如果相同,該產(chǎn)品則不加入購(gòu)物車(chē),并將COOKIE緩存字段的值清空。

如果不相同,則將該產(chǎn)品加入購(gòu)物車(chē),并將COOKIE緩存字段的值設(shè)置為get傳遞過(guò)來(lái)的隨機(jī)數(shù)。

這樣瀏覽器如果出現(xiàn)重復(fù)提交,COOKIE緩存字段的值就會(huì)與get傳遞過(guò)來(lái)的隨機(jī)數(shù)相同,便可以阻止表單重復(fù)提交;

解決方法如下:

1、在帝國(guó)cms產(chǎn)品模板的加入購(gòu)物車(chē)的表單中加入以下代碼

//建立一個(gè)判斷用的隨機(jī)數(shù)

2、在表單的提交按鈕中加入:

onclick="alpj_gongdanhao()"

也就是在 這一行中加入;

3、在產(chǎn)品頁(yè)加入以下js


4、打開(kāi)eadminShopSysclasshShopSysFun.php文件

找到以下函數(shù):

//加入購(gòu)物車(chē)

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

在該函數(shù)的結(jié)尾加上一個(gè)"}"符號(hào)

然后在該函數(shù)中找到以下代碼,約在該函數(shù)的第五行:

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

在其上方加入以下代碼:

//判斷瀏覽器是否重復(fù)提交了表單
	$gd_chongfuPD=$_COOKIE["gd_chongfuPD"];
	if($gd_chongfuPD==$_GET['gd_yanzhenghao']){
		$gd_chongfuPD='';
		// 發(fā)送一個(gè)緩存cookie用做判斷
		setcookie("gd_chongfuPD",$gd_chongfuPD);
		header("location:/e/ShopSys/buycar/");
	}else{
		$gd_chongfuPD=$_GET['gd_yanzhenghao'];
		// 發(fā)送一個(gè)緩存cookie用做判斷
		setcookie("gd_chongfuPD",$gd_chongfuPD);

結(jié)束!點(diǎn)贊!

版權(quán)聲明: 本站資源均來(lái)自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!

轉(zhuǎn)載請(qǐng)注明: 解決帝國(guó)CMS在360瀏覽器會(huì)重復(fù)表單提交導(dǎo)致加入購(gòu)物車(chē)的商品數(shù)量翻倍的問(wèn)題!

相關(guān)文章
模板推薦