我在codeigniter中登录应用程序时遇到问题,问题是这样的:
我创建了MY_Controller,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Controller extends CI_Controller {
public function __construct(){
parent::__construct();
}
}
然后我将它扩展到我创建的库中,这是我的“Petugas_Controller”库:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Petugas_Controller extends MY_Controller {
public function __construct(){
parent::__construct();
$this->load->model('petugas_m');
} // end contructor.
public function check(){
if ($this->uri->uri_string() !== 'index' && ! $this->petugas_m->is_logged_in() == TRUE){
redirect('admin/petugas/index');
}
}
}
我正在使用该库在我的“Petugas”控制器中使用,如下所示:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Petugas extends MY_Controller {
public function __construct(){
parent::__construct();
$this->load->library('petugas_controller');
$CI = &get_instance();
$CI->check();
}
public function index(){
echo "You have to login";
}
public function dashboard(){
echo "Welcome to dashboard";
}
}
在“Petugas_Controller”库中,我加载了名为“Petugas_m”的模型,这里是模型:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Petugas_m extends CI_Model {
public function __construct(){
parent::__construct();
}
public function is_logged_in(){
return FALSE;
}
}
这就是我正在尝试的,我的问题是我想检查用户名是否被记录,通过在“Petugas_library”中加载“Petugas_m”模型中的$ this-&gt; check(),我可以看到仪表板回显如果“Petugas_m”中的“check”方法设置为TRUE,但如果它为FALSE,它总是重定向一个循环。
我正在寻找教程但仍然有这个疯狂的问题:(, 提前感谢,抱歉我的英语不好。
答案 0 :(得分:0)
只要您的petugas_controller库位于libraries文件夹中,您就可以通过
访问check方法$this->petugas_controller->check();
还可以尝试将支票中的if语句更改为更像
的内容if ($this->uri->uri_string() !== 'index' && $this->petugas_m->is_logged_in() !== TRUE){
答案 1 :(得分:0)