我试图保存我的会话,刷新页面后它已过期。
在我的控制器中:
if($u_id){
$data= array(
'id'=>$u_id['id'],
'user_name'=>$u_id['user_name'],
'password'=>$password,
);
$this->session->set_userdata('logged_in',$data);
$this->session->set_flashdata('login_succeed','Logged in Successfully');
redirect('home/homepage');
}
在我的主页视图中:
if (isset($this->session->userdata['logged_in'])){
echo $this->session->userdata['logged_in']['user_name'];}
我的配置:
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
第一次将我重定向到主页时,会话是正确的,它完全给了我用户名,但是当我刷新页面时,会话过期并将我重定向到登录页面。我应该在构造中做些什么或者我该怎么办?请帮忙!我正在使用codeigniter
答案 0 :(得分:0)
您尚未设置保存路径。我把我放在缓存中,但你可以选择你想要的地方。
$config['sess_save_path'] = APPPATH . 'cache/sessions/';
或者您可以使用FCPATH
$config['sess_save_path'] = FCPATH . 'application/cache/sessions/';
将会话文件夹权限设置为0700