源于生活

标题: ECSHOP提交订单时提示“您的购物车中没有商品” [打印本页]

作者: vingoo    时间: 2017-2-3 23:26
标题: ECSHOP提交订单时提示“您的购物车中没有商品”
ECSHOP客户反映提交订单时提示“您的购物车中没有商品”,ecshop开发中心技术经研究,该问题经查常是$_SESSION丢失,
这时,就要通过COOKIE来找回登录状态,但是includes/modules/integrates/ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致验证cookie时返回的username为空,丢失了登录状态。
下面解决方案如下:

打开 ecshop.php 在里面加下面这段代码:
[PHP] 纯文本查看 复制代码
/**
     * 检查cookie
     *
     * @access  public
     * @param
     *
     * @return void
     */
    function check_cookie ()
    {
        if ( isset($_COOKIE['ECS'])  && isset($_COOKIE['ECS']['user_id'])  && isset($_COOKIE['ECS']['password']))
        {
      $ecs_user_id   = $_COOKIE['ECS']['user_id'];
   $ecs_user_pass = $_COOKIE['ECS']['password'];
            $sql = "SELECT " . $this->field_name ." AS user_name".
                   " FROM " . $this->table($this->user_table) .
                   " WHERE ".$this->field_id." = '$ecs_user_id' AND ".$this->field_pass." = '$ecs_user_pass'";
            $username = $this->db->getOne($sql);
            if ($username && ($this->charset != 'UTF8'))
            {
                $username = ecs_iconv($this->charset, 'UTF8', $username);
            }
            return $username;
        }
        else
        {
            return '';
        }
    }








欢迎光临 源于生活 (http://bbs.vingoo.info/) Powered by Discuz! X3.1