所以我注意到这样一个事实:在用户登录然后点击后退按钮后,它会将它们返回到登录页面。我怎么做到它不这样做?我发现停止单击后退按钮以转到安全页面的代码的注销版本似乎不适用于我遇到的登录问题。
这是我添加到构造函数中的代码,它似乎已停止使用back返回到安全页面注销:
parent::__construct();
$this->output->set_header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
$this->output->set_header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
$this->output->set_header('Cache-Control: post-check=0, pre-check=0', FALSE);
$this->output->set_header('Pragma: no-cache');
$this->load->helper('url');
$this->load->driver('cache');
}
还在注销时添加了$ this-> cache-> clean()
答案 0 :(得分:0)
以下是示例代码或您,在登录控制器中检查存在的登录会话。
function __construct() {
parent::__construct ();
$valid_login = $this->session->userdata ( 'valid_login' );
if ($valid_login == 1) {
redirect ( base_url('homeController') );
}
return true;
}
public function checklogin() {
$name = $this->input->post ( 'username' );
$pass = $this->input->post ( 'password' );
$this->load->model ( 'loginModel' );
if ($this->loginModel->login ( $name, $pass )) {
$this->session->set_userdata ( 'username', $name );
$this->session->set_userdata ( 'valid_login', 1 );
return true;
} else {
return false;
}
}
现在在家庭控制器中检查登录会话,否则注销并重定向到登录页面,如下所示。
function __construct() {
parent::__construct ();
$valid_login = $this->session->userdata ( 'valid_login' );
if ($valid_login == "")
redirect ( 'loginController' );
}
答案 1 :(得分:0)
function __construct()
{
parent::__construct();
//$this->load->model('model_session');
$this->load->model('model_vanshaval');
$this->load->model('model_session');
if($this->model_session->check_logged()==FALSE){
redirect('welcome');
}
你可以在welcome控制器中编写这个构造函数来检查用户是否登录..