我遇到了 CodeIgniter 2.1.2 的问题并坚持了几个小时尝试解决它:-/
我知道有很多(!)关于这个的线程,但我找不到我的问题的解决方案。
我想在我的构造函数中加载一个方法来检查用户是否登录,所以我尝试了这个:
class my_class extends CI_Controller
{
public function __construct();
parent::__construct();
$this->check(); //doesn't work, endless redirection loop
}
“检查()”是:
public function check()
{
if (! $this->session->userdata('logged_in'))
{
redirect('/login'); // tried with & without '/'
}
}
方法“login()”如下所示:
public function login()
{
...
//do form validation stuff and on success:
if ($this->form_validation->run() == TRUE)
{
$this->session->set_userdata('logged_in', TRUE);
redirect('/entry');
}
//load login_view
}
方法“入口()”:
public function entry()
{
//$this->check();//Old (redundant) Version
//Authorized and Happy...
}
// 其他一些方法,也先调用check()方法
所以我的问题是,为什么方法中的调用有效(但有很多冗余调用)并且构造函数中的调用给了我一个无限循环?我错过了什么吗?(我也没有更改 htaccess 文件中的内容..)
提前谢谢:-)