2017-09-29 5 views
1

私が使用したときに、私はCIといくつかのpromblemを持っています$ this->セッション - > set_userdata

コントローラ

public function check_login() 
{ 
    $email = $this->input->post('username_email'); 
    $password = $this->input->post('passwords'); 
    $password_encrypt = sha1(md5($password)); 

    $query = $this->model->check_login($email,$password_encrypt); 
    if($query->num_rows() > 0) 
    { 
     $row = $query->row(1); 
     $data = array(
      'email'   => $row->email, 
      'level_id'  => $row->level_id, 
      'id_subunit'  => $row->id_subunit, 
     ); 
     $this->session->set_userdata($data); 
     return TRUE; 
    } 
    else{ 
     return FALSE; 
    } 
} 

モデル

function check_login($email,$password_encrypt) 
{ 
    $db = $this->load->database('default',TRUE); 
    $where_email = array('email' => $email, 'password' => $password_encrypt); 

    $db->where($where_email); 
    $query = $db->get('admin',1); 

    return $query; 
} 

私はセッションデータを取得するには、ここで取得しよう

public function home() 
{ 
    $data['level'] = $this->session->userdata('level_id'); 
    $data['email'] = $this->session->userdata('email'); 
    $data['id_subunit'] = $this->session->userdata('id_subunit'); 

    if($data['level'] == 1){ 
     redirect('admin'); 
    } 
    else if($data['level'] == 2){ 
     redirect('kuesioner/submited'); 
    } 
    /*else{ 
     redirect('sub_unit/home'); 
    }*/ 
} 

私の問題は、セッションの配列から電子メールとレベルIDを取得できることです。

これを解決するにはどうすればいいですか?

+0

セッションデータを取得しようとする場所にコードを表示してください。 – DFriend

+0

@ B.Desai:電子メールとレベルIDからデータを取得できます。 –

+0

@DFriend:大丈夫、コードを追加しました。 –

答えて

0

コントローラまたはconfig/autoload.phpファイルにセッションライブラリをロードします。

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

次に、セッションデータを設定します。

$this->session->set_userdata($data); 
関連する問題