2011-07-22 19 views
10

Estoy tratando de integrar el siguiente código en mi proyecto. se llevó a cabo en una bibliotecacodeigniter modelo de acceso de la biblioteca

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; 
    } 
} 

Estoy llamando de esta manera:

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

pero cuando lo ejecuto me sale el siguiente error

Un PHP Se encontró el error Severidad: Aviso Mensaje: Propiedad indefinida: Iniciar sesión :: $ users_model Nombre de archivo: libraries/jaclogin.php Número de línea: 45

He verificado que estoy cargando la biblioteca correcta en el archivo de carga automática codeigniter.

¿Alguna idea?

Gracias

Jamie Norman

Respuesta

15

Uso de la instancia de CI, cargue su modelo de forma explícita en la biblioteca como tal ..

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

brillante, que lo arregló. Gracias – JaChNo

Cuestiones relacionadas