繁体   English   中英

CodeIgniter会话页面显示问题

[英]CodeIgniter Session out page display issues

在此处输入图片说明

我正在开发一个使用Codeigniter的网站。在该网站中,我使用了会话超时。如果我单击任何按钮或任何窗口,则我的登录屏幕就会出现在该窗口或div中。
例如。 如果我单击我的通知框,那么它也出现在该div中,我该如何继续。

$config['sess_cookie_name']     = 'ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = FALSE;
$config['sess_table_name']      = 'ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

我能够在页面加载时处理会话,但是如果会话在页面加载时间后一段时间后过期,则会发生上述错误,那么如何触发会话过期事件

在页面的开头。检查会话变量是否已设置。 如果未设置,则将页面重定向到登录页面。

if(!isset($_SESSION['variable'])
{
    header('location:login.php');
}

会话将在配置文件中定义的时间后自动过期。希望这会有所帮助:)

登录时,将变量设置为true,然后单击或在控制器的构造器中检查该变量的值。

public Function login()
{
   $this->session->set_userdata('loggedIn',TRUE);
}

现在检查控制器

function __construct()
{ 
parent::__construct();
if ($this->session->userdata('logged_in') == FALSE) 
   {
    redirect('');//if NOT then redirect to home page
   }
}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM