如果会话过期并重定向,则显示闪存数据消息

时间:2014-10-19 14:40:34

标签: php codeigniter

如果用户登录然后会话过期,我会被重定向到管理页面确定。

但是在我的用户库父构造区域。我想只在会话过期/超时后才设置flash数据,然后重定向到admin会显示flash-data消息。

到目前为止,它不起作用。

public function __construct() {
    $this->CI = & get_instance();
    $this->CI->load->library('session');
    $this->CI->load->model('admin/common/user_login_model');
    $this->CI->load->model('admin/user/users_group_model');
    $this->CI->load->model('admin/user/users_model');


    if (($this->CI->session->userdata('last_activity') + config_item('sess_expiration')) < mdate('%Y-%m-%d %H:%i:%s', now())) {
    $this->CI->session->sess_destroy();
    $this->CI->session->set_flashdata('error', "Session Timed Out."); // <--added
    return TRUE;
    }
}

如果会话已过期/超时但未显示消息,仍会重定向到管理员。

1 个答案:

答案 0 :(得分:1)

$this->CI->session->sess_destroy();

注意:此函数应该是最后一个调用的函数,甚至闪存变量也将不再可用。如果您只想销毁某些项目而不是全部,请使用unset_userdata()。