2010-06-04 41 views
1

我正在研究跟蹤用戶數據並在適當時將其存儲在會話中的模型。這裏是它的基本結構:無法找到CodeIgniter會話對象

public function __construct() { 
    parent::__construct(); 

    $this->load->database(); 
    $this->load->library('session'); 

    if (!is_null($this->session->userdata('user'))) { 
     $arrData = $this->session->userdata('user'); 

     $this->_netID = $arrData['_netID']; 
     $this->_fName = $arrData['_fName']; 
     $this->_eventMgr = $arrData['_eventMgr']; 
     $this->_accessMgr = $arrData['_accessMgr']; 
     $this->_accessAcnt = $arrData['_accessAcnt']; 
     $this->_accessEvnt = $arrData['_accessEvnt']; 
     $this->_accessCMS = $arrData['_accessCMS']; 
     $this->_accessReg = $arrData['_accessReg']; 
     $this->_accessRep = $arrData['_accessRep']; 
     $this->_accessPay = $arrData['_accessPay']; 
     $this->_okEvents = $arrData['_okEvents']; 
    } 
} 
public function __get($name) { 
    switch($name) { 
      default: 
      if (function_exists('parent::__get')) { 
       return parent::__get($name); 
      } else { 
       return $this->$name; 
      } 
    } 
} 
public function __set($name,$val) { 
    switch($name) { 
      default: 
      if (function_exists('parent::__set')) { 
       return parent::__set($name,$val); 
      } else { 
       $this->$name = $val;    } 
    } 
} 

我遇到的問題是在構造函數中。當它擊中第七行(檢查,如果用戶密鑰爲空),它出現了錯誤,他說:

A PHP Error was encountered 

Severity: Notice 

Message: Undefined property: SessionUser::$session 

Filename: models/sessionuser.php 

Line Number: 83 

Fatal error: Call to a member function userdata() on a non-object in /usr/cwis/data/www-data/melioraweekenddev/system/application/models/sessionuser.php on line 38 

爲什麼任何想法?

回答

3

我的猜測是你想從一個模型中加載一個庫,這是不可能的。 請改爲:

public function __construct() { 
    parent::__construct(); 

    $CI =& get_instance(); //Loads the codeigniter base instance (The object your controller is extended from. & for php4 compatibility 
    $CI->load->database(); 
    $CI->load->library('session'); 

    if (!is_null($CI->session->userdata('user'))) { 
    ... 
+0

哇......我不知道你不能這樣做...... – 2010-06-04 20:20:13