定型管 電子鈑金
返回列表 回復 發帖

帖子標題:[分享] ECSHOP購物車中商品自動消失的解決方法

最近有不少朋友反映關於ECShop購物車的問題:需要加入多個商品到購物車時,發現之前加入到購物車的商品都自動消失了,只有最後一次加入購物車的商品在裏面。

那麽,這是什麽原因呢?
因為ECShop的SESSION采用IP生成用戶唯一碼,這樣一來,多線接入的用戶在路由自動切換時就會造成IP變化,這樣,SESSION也就丟失了,與SESSION相關的登陸、購物車也就失效了。

下面模板營就關於這個問題整理出來的解決方法貼出來 ,供在家參考

解決辦法有兩種:
1、當用戶第一次登陸時,將用戶的IP存入Cookie
2、在生成SESSION時,不取IP,而是在用戶的機器存一個加密的Cookie。

第一種方法相對較簡單,這裏講一下具體操作步驟

只需要修改ECShop根目錄下includes\cls_session.php 大概在82行,找到這個。
$this->_ip = real_ip();

修改為

if(isset($_COOKIE['real_ipd']) && !emptyempty($_COOKIE['real_ipd'])){
    $this->_ip = $_COOKIE['real_ipd'];
}else{
    $this->_ip = real_ip();
    setcookie("real_ipd", $this->_ip, time()+36000, "/");
}
就可以了。

修改好後,再加入購物車試試,是不是問題解決了呢?
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"最模板" 發表的文章《ECSHOP購物車中商品自動消失的解決方法》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
这个文章不错的 应该收藏
提醒您: 您在"ECSHOP 交流討論區"交流請遵守台灣法律規範,"最模板" 發表的文章《》版權歸屬作者所有,如是轉貼版權歸屬原作者所有.本論壇不對其真實性做任何考證.
返回列表