【问题标题】:Session expired after refresh using Codeigniter使用 Codeigniter 刷新后会话过期
【发布时间】:2017-04-27 20:16:39
【问题描述】:

我正在尝试保存我的会话,刷新页面后它已过期。

在我的控制器中:

 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;

第一次将我重定向到主页时,会话是正确的,它给了我完美的用户名,但是当我刷新页面时,会话过期并将我重定向到登录页面。我应该在构造中做些什么还是我能做些什么?请帮忙!我正在使用代码点火器

【问题讨论】:

  • 视图是否有错误?
  • @Elymentree 不,我第一次登录时它正在工作,但是当我刷新页面时,会话过期并再次将我重定向到登录页面。

标签: php codeigniter session


【解决方案1】:

您尚未设置保存路径。我把我的放在缓存中,但你可以选择你想要的地方。

$config['sess_save_path'] = APPPATH . 'cache/sessions/';

或者你可以使用 FCPATH

$config['sess_save_path'] = FCPATH . 'application/cache/sessions/';

将会话文件夹权限设置为 0700

【讨论】:

    猜你喜欢
    • 2012-08-16
    • 2011-07-09
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 2017-11-19
    • 1970-01-01
    • 2013-12-22
    相关资源
    最近更新 更多