0

我想在构造函数中不重定向所有页面(注册、登录、提醒)使用登录检查。

但如果我使用 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() {
    ...
}
4

2 回答 2

2

我将在所有页面上作为其构造函数执行。相反,如果用户未登录,您可以检查该怎么做:

if($this->user->logged() == FALSE) {
       redirect("/login");
    }

如果用户已登录,则无需执行任何操作,只需假设用户已登录并实现您的页面。这将正常工作。

如果您想对其他控制器执行相同操作,请使用基本控制器(如“MY_Controller”)进行此登录检查。并将这个基本控制器扩展到所有子控制器。会正常工作。

于 2013-02-01T11:53:10.483 回答
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();
    }
}
于 2013-02-01T15:03:12.797 回答