Как установить зарегистрированный идентификатор пользователя в сеансе (CodeIgniter)? - PullRequest
1 голос
/ 02 октября 2011

У меня проблемы с получением идентификатора зарегистрированного пользователя из базы данных ...

Это код моего контроллера:

        function validation(){

    $this->load->model('users_model');
    $query = $this->users_model->validate();

    if ($query){
        $this->users_model->get_userID($this->input->post('email'));
        $data = array( 
        'email' => $this->input->post('email'),
        'is_logged_in' => true,
        'user_id' => $user_id
        );

        $this->session->set_userdata($data);            
        redirect('home');
    }
    else {
        $this->index();
    }
}

Это функция модели, в которую я возвращаюидентификатор пользователя из базы данных:

       function get_userID($email){
    $this->db->where('email',$email);
    $query = $this->db->get('users');       
    foreach ($query->result() as $row)
        {
            $user_id = $row->id;
        }
        return $user_id;

}

Все отлично работает, за исключением того, что $ user_id возвращает пустое ... Что я делаю не так?

Ответы [ 2 ]

4 голосов
/ 02 октября 2011

Попробуйте:

$user_id= $this->users_model->get_userID($this->input->post('email'));
0 голосов
/ 02 октября 2011

попробуйте изменить функцию модели на это -

function get_userID($email){
  $this->db->where('email',$email);
  $query = $this->db->get('users')->row_array(); // retrieves only first-row.
  return $query['id'];
}

В контроллере функция нуждается в небольшом изменении, как указано ниже -

function validation(){

    $this->load->model('users_model');
    $query = $this->users_model->validate();

    if($query){
        //$user_id was not assigned before :)
        $user_id = $this->users_model->get_userID($this->input->post('email')); 
        $data = array( 
        'email' => $this->input->post('email'),
        'is_logged_in' => true,
        'user_id' => $user_id
        );

        $this->session->set_userdata($data);            
        redirect('home');
    }
    else {
        $this->index();
    }
}

надеюсь, это поможет,

Фейсал Ахмед блог / сайт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...