如果已经登录,则在控制器内调用另一个控制器

时间:2013-07-21 18:11:39

标签: codeigniter view controller undefined

我有一个登录控制器,我在那里检查他是否登录或不喜欢

if($logged_in){
    $this->load->view('profile_view'); 
}
else{
    $this->index();
}

就像你可以看到我正在加载一个视图,如果我没有登录。但是我不是加载一个视图而是加载一个加载该视图的控制器,因为我想从控制器发送数据观点。

所以我想做这样的事情

 if($logged_in){
    $this->load->controller('profile_controller'); 
 }

并在我的个人资料控制器中输入此内容

function index(){
    $logged_in =  $this->logged_in->is_logged_in();

    if($logged_in){
        $this->load->model('profile_model');
        if($query = $this->profile_model->getAllUserInfo()){
            $data['records'] = $query;
            $this->load->view('profile_view', $data);
        }
    }
    else{
        echo "you don't have access on this page";
    }
}

但似乎无法从控制器加载控制器!那么如何在向其发送数据时创建我的视图呢?

1 个答案:

答案 0 :(得分:0)

看看Ben Edmunds身份验证库如何处理它。

if (!$this->ion_auth->logged_in())
    {
        redirect('auth/login');
    }

Ion_Auth Lobrary - http://benedmunds.com/ion_auth/#logged_in