0

我的默认控制器是家庭。当没有设置会话时,MY_Controller负责加载login_view而不是 home。

现在,这工作正常,它确实login_view在没有设置会话时加载。但它会将其与home_view.

MY_Controller中,当我设置redirect(site_url('login'));而不是$this->load->view('login');then 加载时,只加载浏览器消息:

:( 此页面上有重定向

MY_控制器:

class My_Controller extends CI_Controller{
    public function __construct() {
        parent::__construct();
        if ($this->session->userdata('username') == '') {
            $this->load->view('login_view');
            //redirect(site_url('login'); --> browser sends error

        }

    }
}

我正在寻找类似的东西 - 销毁所有其他视图并login_view在没有设置会话时加载。或者重定向到login_view而不接收浏览器重定向message/error。有这样的事情吗?谢谢你的帮助!

4

1 回答 1

1

尝试这个:

class My_Controller extends CI_Controller{
    public function __construct() {
        parent::__construct();
        if ( !$this->session->userdata('username') ) {
            //$this->load->view('login_view');
            redirect('My_Controller/login', 'refresh');
        }
    }

    public function login(){
        #load the view here
        $this->load->view('login_view');
    }
}
于 2013-09-06T10:14:20.693 回答