我希望使用登录检查所有页面(注册,登录,提醒),而不在构造函数中重定向。
但如果我使用die(),所有页面都不起作用。哪个函数可以替换die()?
function __construct() {
parent::__construct();
if($this->user->logged() == TRUE) {
$data['message'] = 'You are already logged in';
$this->load->view('error', $data);
die(); // I don't want to use redirect('/error')
}
}
public function registration() {
...
}
public function login() {
...
}
public function remind() {
...
}
答案 0 :(得分:2)
我将在所有页面上执行它作为构造函数。相反,如果用户未登录,您可以检查该怎么做:
if($this->user->logged() == FALSE) {
redirect("/login");
}
如果用户已登录,则无需执行任何操作,只需假设用户已登录并实施您的页面即可。这样可以正常工作。
如果要对其他控制器执行相同操作,请使用基本控制器(如“MY_Controller”)进行此登录检查。并将此基本控制器扩展到所有子控制器。工作正常。
答案 1 :(得分:0)
我找到了解决方案!
function __construct() {
parent::__construct();
if($this->user->logged() == TRUE) {
$data['message'] = 'You are already logged in';
$this->load->view('error', $data);
$this->output->_display(); // <-- use this code for enable output with die()
die();
}
}