ecshop用戶登陸問題及ecshop購物車問題解決辦法

關於ecshop2.7.0在部分IE瀏覽器下丟$_SESSION的問題、ecshop 用戶登錄後自動跳出的問題php

經查常是$_SESSION丟失,在網上查找發現IE6也有很多SESSION丟失的問題,這時,就要經過COOKIE來找回登陸狀態,可是 includes\modules\integrates\ecshop.php這個整合自身會員的類中沒有重寫integrate.php中的check_cookie()方法致使,驗證cookie時返回的username爲空,丟失了登陸狀態,在ecshop.php中重寫了此方法後一切正常了:sql

/**
     * 檢查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://www.9958.pw/post/ecshop_login_cart瀏覽器

相關文章
相關標籤/搜索