2017-02-07 3 views
0

私のコントローラ 'login_user'の1つの関数から別の関数 'ダッシュボード'に値を送信すると、その値はセッションに保存されますが、私はここでそれを得るために、URIルーティングを使用していたときに、両方の「LOGIN_USER」機能と「ダッシュボード」がある場合、コードセッション値を保存してコントローラのある関数から別の関数に渡す方法

public function login_user(){ 
    //$cache=$this->input->post(); 
    $this->form_validation->set_rules('email','Email','required'); 
    $this->form_validation->set_rules('password', 'Password', 'trim|required'); 
    $this->form_validation->set_error_delimiters("<p class='text-danger'>","</p>"); 
    if($this->form_validation->run()){ 
     $email=$this->input->post('email'); 
     $password=$this->input->post('password'); 
     $this->load->model('Pmodel'); 
     $login_data=$this->Pmodel->login_model($email,$password); 
     print_r($login_data); 
     if($login_data){ 
      $data= $this->session->set_userdata('data', $login_data); 
      var_dump($data); 
      return redirect(base_url()."user/dashboard".$data); 
      //$this->load->view('dashboard/dashboard',['data'=>$data]); 
     }else{ 
      $this->session->set_flashdata('Login_failed','Invalid Username/Password.'); 
      return redirect('user/login_invalid'); 
      //echo "string"; 
     } 
    }else{  
     return redirect('user/login_invalid'); 
    } 
} 

、別の機能

public function dashboard(){  
    if ($this->session->userdata('data') === NULL){ 
     echo "hello"; 
     return redirect('user/login_invalid'); 
    }else{ 
     $login_data = $this->uri->segment(3); 
     var_dump($login_data); 
     $this->load->model('Pmodel'); 
     $email=$this->Pmodel->select_model('$email'); 
     $this->load->view('dashboard/dashboard',$email); 
    } 
} 

答えて

0

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

セットセッションの使用のためにこの

$this->session->set_userdata('session_name', 'data'); 

のために、ユーザデータの使用を取得し、この

$this->session->userdata('rec_id'); 
0

ちょうど代わりにリダイレクトの機能の下に呼び出しています同じコントローラで

$data= $this->session->set_userdata('data', $login_data); 
var_dump($data); 
return redirect(base_url()."user/dashboard".$data); 

で単純なクラスの関数呼び出しでリダイレクトの上に置き換えますダッシュボード機能体は次のように見えるかもしれ

$data= $this->session->set_userdata('data', $login_data); 
$this->dashboard($data); 

まだアクティブでない場合は、このためにセッションのライブラリをロードする必要が
function dashboard($data=null){ 
    // your code here 
} 
0

数時間それを試した後、私はついに見つけたここでは別のコントローラから値を渡す方法は、コードがダッシュボード機能で今すぐ

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

     $data=$this->session->all_userdata($login_data); 

     return redirect(base_url()."user/dashboard/?data=".json_encode($data)); 

あるだけで、これはあなたのモデルにデータを渡すデータ

$data=json_decode($_GET['data']); 
    $this->load->model('Pmodel'); 
$email['data']=$this->Pmodel->select_model($data); 
    $this->load->view('dashboard/dashboard',$email); 

を取得するためにこれを使用し、あなたは終わった。

関連する問題