0

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

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

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

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

4

4 回答 4

1

尝试

 if ($active_state == 'no') {
    $this->load->view('activation_page');
    return false;
 }
于 2013-04-25T09:37:22.083 回答
1

显然,您不会进入 if 语句,这意味着如果用户不活跃,您将加载激活页面。

您仍然没有 else,如果用户处于活动状态,它将加载视图。

尝试:

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

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

编辑:

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

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

于 2013-04-25T09:41:11.833 回答
1

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

if ($active_state == 'no') {
    $this->load->view('activation_page');
}else{
    $this->load->view('members_area');
} 
于 2013-04-25T09:48:49.240 回答
0

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

于 2013-04-25T09:44:41.050 回答