Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 验证代码点火器视图_Php_Codeigniter_Authentication - Fatal编程技术网

Php 验证代码点火器视图

Php 验证代码点火器视图,php,codeigniter,authentication,Php,Codeigniter,Authentication,我的CodeIgniter项目中有一个登录助手。 在控制器的每个构造函数中,我调用一个函数来检查用户是否登录。 但是,当注销时调用函数(getSetup)时,会显示login_视图,但也会显示另一个视图db_manage,例如。但我不想在未登录时显示内容。。如何解决这个问题 谢谢 function __construct() { parent::__construct(); if (!is_logged_in()) { $this->load->vie

我的CodeIgniter项目中有一个登录助手。 在控制器的每个构造函数中,我调用一个函数来检查用户是否登录。 但是,当注销时调用函数(getSetup)时,会显示login_视图,但也会显示另一个视图db_manage,例如。但我不想在未登录时显示内容。。如何解决这个问题

谢谢

function __construct() {
    parent::__construct();
    if (!is_logged_in()) {
        $this->load->view('login_view');
    }
}


public function getSetup() {
    $this->load->view("db_manage");
}
这样:

function __construct() {
    parent::__construct();
    if (!is_logged_in()) {
        echo $this->load->view('login_view', null, TRUE);
        exit();
    }
}

是的,您不能退出将阻止Codeigniter从输出缓冲区执行渲染过程的任务。你不能从c'tor中真正做到这一点,它不是c'tor的真正用途,它是用来设置类变量的

您应该从方法中检查登录,并从那里返回登录视图

class My_Controller {
    function ensureLoggedIn() {
        if(!is_logged_in()) {
            $this->load->view('login_view');
            return False;
        }

        return True;
    }

    function getSetup() {
        if(!$this->ensureLoggedIn())
             return;

        .... rest of method ...
    }
}

@如果你想绕过堆栈,那么使用框架有什么意义

仍然给出相同的结果,每当调用exit时,我都会看到一个白色屏幕。