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