2KB项目,专业的源码交易网站 帮助 收藏 每日签到

ecshop退出登录会清空购物车的bug优化最佳解决方法

  • 时间:2019-01-31 02:15 编辑:2KB 来源:2KB.COM 阅读:367
  • 扫一扫,手机访问
  • 分享
摘要: ecshop退出登陆后,会清空购物车,大家都应该知道有这样的勉强算bug的问题。 网上类似的教程相当多,但都有问题,说句不好听的,算是引新手入歧途! 总结网上方法如下: 1、修改init.php,把sess_id绑定ip的。老杨点评:各种紊乱不解
ecshop退出登陆后,会清空购物车,大家都应该知道有这样的勉强算bug的问题。
网上类似的教程相当多,但都有问题,说句不好听的,算是引新手入歧途!
总结网上方法如下:
1、修改init.php,把sess_id绑定ip的。老杨点评:各种紊乱不解释。
2、修改cls_session.php,让user_id不为0的购物车商品在退出时不删除,修改lib_main.php,将购物车中sess_id换成新的session_id。
老杨点评:算是到了点子上的改法,但是在不同设置或浏览器访问时,会照成其它设备上的出问题!必须重新登录商城模板才能解决!在手机流行的年代,如果手机和pc同时登录,或两台电脑台时登录,你会崩溃的,登了这边,那边购物车就空了,除非重新登录!

3、其它的方法,各种坑,不再列举。
老杨的方法:
1、修改includes/cls_session.php
找到(268行左右):
if (!empty($GLOBALS['ecs']))           {               $this->db->query('DELETE FROM ' .  $GLOBALS['ecs']->table('cart') . " WHERE session_id =  '$this->session_id' );           } 复制代码
替换为:

    if (!empty($GLOBALS['ecs']))       {           $this->db->query('DELETE FROM ' . $GLOBALS['ecs']->table('cart') . " WHERE session_id = '$this->session_id' AND user_id = 0");//www.lyecs.com 老杨ecshop 只清空匿名**       }   复制代码



2、找到includes/init.php
    define('SESS_ID', $sess->get_session_id()); 复制代码
替换为:     //判断是否存在user_id的session,避免高版本PHP报错       if(isset($_SESSION['user_id'])){           //如果存在会员登录           if($_SESSION['user_id']>0){               //取得对应user_id的session MD5码,后面加入'@lyecs.com'自定义的自符串加密。               $user_session=md5($_SESSION['user_id'].'@lyecs.com');   //'@lyecs.com'内容可自行修改               //取得之前的session_id,www.lyecs.com 老杨ecshop               $old_session=$sess->get_session_id();               //如果会员的session_id和原先的session_id不同(则为新登录情况),则将购物车内原session_id的商品,更新为会员下的商品!               if($user_session != $old_session){                   $sql="update ".$GLOBALS['ecs']->table('cart')."set session_id='".$user_session."',user_id='".$_SESSION['user_id']."' where session_id='".$old_session."' ";                   $GLOBALS['db']->query($sql);               }               //定义新的会员唯一session_id  www.lyecs.com 老杨ecshop               define('SESS_ID',$user_session);           }else{               //不存在会员,继续用原有的session_id               define('SESS_ID', $sess->get_session_id());           }       }else{           //不存在会员,继续用原有的session_id           define('SESS_ID', $sess->get_session_id());       }  


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部