我在開發應用程序的CodeIgniter仍然但我意識到,當我登錄並設置會話的用戶數據,它被設置,但是重定向後消失。因此,重定向後我無法訪問會話數據。會話數據丟失後重定向笨3.1.2
這是我的登錄腳本
public function login(){
if(!empty($_SESSION['user_id'])){//Meaning you are logged in
//We inform you
$this->session->set_flashdata('msg', "<div class='alert alert-success'><span class=''></span> You are already logged in as <strong>".$this->session->user_name."</strong></div>");
//And send you back to your dashboard
return redirect('/account/dashboard');
}
if($this->input->post()){
$this->load->library('form_validation');
$this->form_validation->set_rules('email','Email','required|valid_email');
$this->form_validation->set_rules('password','Password','required');
if($this->form_validation->run() == TRUE){
$creds=['email'=>$this->input->post('email'),'password'=>$this->input->post('password')];
$this->load->model('user/user_model');
$user=$this->user_model->login($creds);
if(!$user){
$data['error_msg']="Inavlid login details. Please retry";
}else{
$user->user_type=(!empty($user->user_type))?:'2';
$userdata=['user_id'=>$user->id,'user_name'=>$user->name,'user_email'=>$user->email,'user_type'=>$user->user_type];
$this->session->set_userdata($userdata);
$this->session->set_flashdata('msg', '<div class="alert alert-success"><span class="fa fa-check"></span> Logged in as '.$this->session->userdata('user_name').'</div>');
return redirect('account/dashboard');
}
}
}
$data['title']="Login";
$this->load->view('template/auth/header');
$this->load->view('account/login',$data);
$this->load->view('template/auth/footer');
}
,這是我的config/congig.php文件
$config['base_url'] = 'http://localhost/tmpad/';
$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd';
$config['encryption_key'] = '4%^&*9799809-nkhdfioup';
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = 'http://localhost/tmpad/';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
$config['csrf_regenerate'] = TRUE;
$config['csrf_exclude_uris'] = array();
會議是自動加載的config/autoload.php
我會感謝任何指導或幫助。 謝謝
謝謝@Diego。我按照你的建議完成了,但函數(在重定向之前)顯示了會話變量。但重定向後,會話變量丟失 – Josh
我有同樣的問題 –