在CodeIgniter下的函数中使用die()

时间:2013-04-25 09:32:51

标签: php codeigniter codeigniter-2

我正在CodeIgniter中编写Web应用程序,我正在尝试应用用户激活。

    function is_active() {
        $active_state = $this->my_model->check_active();
        if ($active_state == 'no') {
            $this->load->view('activation_page');
            die();
        }
    }

上面的代码会生成一个空白页面,如果我删除die(); if是否会在activation_page旁边打印出members_area

那么如何强制它加载请求的视图并退出?

4 个答案:

答案 0 :(得分:1)

尝试

 if ($active_state == 'no') {
    $this->load->view('activation_page');
    return false;
 }

答案 1 :(得分:1)

显然你没有进入if语句,这意味着如果用户不活动,你加载激活页面。

如果用户处于活动状态,你还没有其他的加载视图。

尝试:

 if ($active_state == 'no') {
    $this->load->view('activation_page');
 } 
 $this->load->view('members_area');

注意:您可能希望还原if条件。检查用户是否处于活动状态看起来更合乎逻辑,否则回退到激活页面。

修改

请参阅此代码:http://paste.laravel.com/pfO

注2:许多可能的解决方案之一。

答案 2 :(得分:1)

如果条件正确,你应该玩过

if ($active_state == 'no') {
    $this->load->view('activation_page');
}else{
    $this->load->view('members_area');
} 

答案 3 :(得分:0)

我会将你的if语句放入模块的控制器而不是模型中。 你应该在那里进行检查,因为你可以围绕其他视图调用创建if语句。因此它不会加载您不希望未激活的用户查看的其他视图。