2017-11-11 8 views
0
public function LoginUser() 
{ 

    $this->form_validation->set_rules('email', 'Email', 'required'); 
    $this->form_validation->set_rules('password', 'Password', 'required'); 
    if ($this->form_validation->run() == FALSE) 
    { 
     $this->load->view('login'); 
    } 
    else 
    { 

     $data['Email']=$this->input->post('email'); 
     $data['Password']=$this->input->post('password'); 
     $result=$this->UserAccount_model->LoginUser($data); 
     if($result) 
     { 

      $session_data = array(
      'sesid' => $result[0]->id, 
      'sesname' => $result[0]->Name, 
      'sesemail' => $result[0]->Email); 

      // Add user data in session 
      $this->session->set_userdata('logged_in', $session_data); 

      $url=base_url()."UserAccount/LoggedIn"; 

       header("Location:$url"); 
     } 

を与える今、私は写真をコントローラには別のコントローラでセッションデータにアクセスするとエラー

public function LikePhoto() 
{ 
    $Id=$this->uri->segment(3); 
    $UserId=$this->$session_data['sesid']; 
    print($UserId); 
    exit(); 

をセッションデータにアクセスしていますが、これはPHPのエラーが

に遭遇したエラー

を与えます

重大度:通知

メッセージ:未定義の変数:session_data

ファイル名:/ Photo.php

コントローラ

行番号:CIで55

答えて

2

セッションデータを取得するためにあなたが$this->session->userdata()

を使用する必要がありますコードを次のように変更してください:

$UserId=$this->session->userdata('logged_in')['sesid']; 

EDITあなたは配列からデータを格納する場合だけなので

$this->session->set_userdata($session_data); 

$this->session->set_userdata('logged_in', $session_data); 

を変更して検索するためにセッション

に配列変数を追加します。

$UserId=$this->session->userdata('sesid'); 
+0

'logged_in'ではなく' 'sesid'は' $ this-> session-> userdata( 'logged_in')['sesid'] ' – C2486

+0

のように' set_userdata'を変更する必要があります。 update @ user2486を参照 –

+0

変更を加えました – C2486

関連する問題