[英]Session variables not working codeigniter (PHP)
我的會話有問題。 我沒有在本地主機或其他服務器上遇到此問題。 只有one.com有此問題。 定義了會話並將其設置為指定的會話文件夾,但是刷新頁面時似乎缺少該會話。
登錄頁面代碼
$submitted = $this->input->post('email');
$admin_logged_in = $this->session->userdata('admin_logged_in');
if($admin_logged_in != true){
if($submitted != ""){
$email = xss_clean($this->input->post('email'));
$password = xss_clean($this->input->post('password'));
$id = $this->Admin_Model->admin_log($email,$password);
if($id == 1){
$user = $this->Admin_Model->get_admin($email);
$data['user'] = $user;
$session_data = array(
'admin_id' => $user->id,
'admin_email' => $user->email,
'admin_logged_in' => true
);
$this->session->set_userdata($session_data);
redirect('admin');
}else{
$data['error'] = array( 'type' => 'error', 'message' => 'Account information is incorrect.');
$this->load->view('admin/login',$data);
}
}else{
$this->load->view('admin/login',$data);
}
}else{
$user_id = $this->session->userdata('admin_id');
$user = $this->Admin_Model->get_admin_id($user_id);
$data['user'] = $user;
$this->load->view('admin/admin_home',$data);
}
İndex頁面代碼(登錄后的下一頁)
$admin_logged_in = $this->session->userdata('admin_logged_in');
if($admin_logged_in == true){
$user_id = $this->session->userdata('admin_id');
$user = $this->Admin_Model->get_admin_id($user_id);
$data['user'] = $user;
$this->load->view('admin/admin_home',$data);
}else{
$this->load->view('admin/login',$data);
}
會話配置
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions'; // Or sys_get_temp_dir()
$config['sess_match_ip'] = FALSE; // Or True
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE; // Or True
我已經感謝能夠找到解決方案的朋友。
我已經很長時間沒有寫回復了,但是也許我滿足其他朋友的需求。
$config['sess_driver'] = 'files';
$config['sess_save_path'] = sys_get_temp_dir();
您需要設置會話保存路徑,例如
$config['sess_save_path'] = APPPATH . 'cache/sessions/';
因為您有$config['sess_driver']
作為文件
然后$autoload['libraries'] = array('session');
文件夾權限0700
EXT: The PHP file extension
FCPATH: Path to the front controller (this file) (root of CI)
SELF: The name of THIS file (index.php)
BASEPATH: Path to the system folder
APPPATH: The path to the "application" folder
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.