您的位置:首页 > 运维架构

ECSHOP如何解决购物车中商品自动消失问题

2015-08-09 17:29 459 查看
最近有客户反映关于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']) && !empty($_COOKIE['real_ipd'])){

$this->_ip = $_COOKIE['real_ipd'];

}else{

$this->_ip = real_ip();

setcookie("real_ipd", $this->_ip, time()+36000, "/");

}

就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: