EcShop"您的购物车中没有商品"最终解决方法!

前一段时间,有个客户说自己的ecshop网店出了状况,就是有时候登录的时候会自动退出。而且购物车也没规律的会清空。
刚开始一直找不到原因,到最后才知道了。他说的状况是由于像学校,公司一类的局域网。ip变化的原因造成的。
ECSHOP的SESSION采用IP生成用户唯一码,这样的话,多线接入的用户在路由自动切换时就会造成IP变化,这样,SESSION也就丢失了,与SESSION相关的登陆、购物车也就失效。

解决办法是当用户第一次登陆时,将用户的IP存入Cookie,或者在生成SESSION时,不取IP,而是在用户的机器存一个加密的Cookie。
第一种解决办法只需要修改ECSHOP根目录下includes\cls_session.php 大概在82行,找到这个。
$this->_ip = real_ip();
修改为
        if (isset($_COOKIE['cookie_real_ip']) && !empty($_COOKIE['cookie_real_ip']))
        {
            $this->_ip = $_COOKIE['cookie_real_ip'];  
        }
        else
        {
            $this->_ip = real_ip();
            setcookie('cookie_real_ip', $this->_ip, time()+36000, "/");
        }
将用户的首次登陆IP存入Cookie,其它功能依然使用ECSHOP的SESSION。

本文原创地址:https://www.ecshop.cx/article-272.html
版权所有 © 转载时必须以链接形式注明出处!

觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。

实时购买动态 ×

不动如山会员 在 2019-08-15 购买了 ecshop商品详情页一键购买,快速购买,直接购买功能,闪电下单