2011-07-22 118 views
10

我想將以下代碼集成到我的項目中。它是在圖書館舉行codeigniter從庫訪問模型

function do_std_login($email, $password) { 
    $CI =& get_instance(); 
    $login = $CI->users_model->login($email, md5($password)); 
    if($login){ 
     $session_array = array(
      'user_id' => $login->user_id, 
      'name' => $login->name, 
      'type' => 'Standard' 
     ); 
     $CI->session->set_userdata($session_array); 

     // Update last login time 
     $CI->users_model->update_user(array('last_login' => date('Y-m-d H:i:s', time())), $login->user_id); 

     return true; 
    } else { 
     $this->errors[] = 'Wrong email address/password combination'; 
     return false; 
    } 
} 

我打電話這樣說:

$login = $this->jaclogin->do_std_login($this->input->post('email'),$this->input->post('password')); 

但是當我運行它,我收到以下錯誤時遇到

一個PHP錯誤嚴重性:通知 消息:未定義的屬性:登錄:: $ users_model 文件名:libraries/jaclogin.php 行數:45

我有檢查我在codeigniter自動加載文件中加載正確的庫。

任何想法?

感謝

傑米·諾曼

回答

15

使用你的CI實例,顯式地加載模型庫,像這樣..

function do_std_login($email, $password) { 
    $CI =& get_instance(); 
    //-------------- 
    $CI->load->model('users_model'); //<-------Load the Model first 
    //-------------- 
    $login = $CI->users_model->login($email, md5($password)); 
    if($login){ 
     $session_array = array(
      'user_id' => $login->user_id, 
      'name' => $login->name, 
      'type' => 'Standard' 
     ); 
     $CI->session->set_userdata($session_array); 

     // Update last login time 
     $CI->users_model->update_user(array('last_login' => date('Y-m-d H:i:s', time())), $login->user_id); 

     return true; 
    } else { 
     $this->errors[] = 'Wrong email address/password combination'; 
     return false; 
    } 
} 
+1

輝煌,是固定它。謝謝 – JaChNo