最近有不少朋友反映关于ECShop购物车的问题:需要加入多个商品到购物车时,发现之前加入到购物车的商品都自动消失了,只有最后一次加入购物车的商品在里面。
那么,这是什么原因呢?
因为ECShop的SESSION采用IP生成用户唯一码,这样一来,多线接入的用户在路由自动切换时就会造成IP变化,这样,SESSION也就丢失了,与SESSION相关的登陆、购物车也就失效了。
下面模板营就关于这个问题整理出来的解决方法贴出来 ,供在家参考
解决办法有两种:
1、当用户第一次登陆时,将用户的IP存入Cookie
2、在生成SESSION时,不取IP,而是在用户的机器存一个加密的Cookie。
第一种方法相对较简单,这里讲一下具体操作步骤
只需要修改ECShop根目录下includescls_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, "/");
}
就可以了。
修改好后,再加入购物车试试,是不是问题解决了呢?
本文链接:http://78moban.cn/post/3893.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!