我正在尝试将以下代码集成到我的项目中。它存放在图书馆
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错误 严重性:注意 消息:未定义属性:Login :: $ users_model 文件名:libraries / jaclogin.php 行号:45
我已经检查过我在codeigniter autoload文件中加载了正确的库。
任何想法?
由于
Jamie Norman
答案 0 :(得分:23)
使用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;
}
}