此问题的简短版本
如何在Codeigniter构造函数中编写类似这样的内容(if(Controller Function is Not "Login()" Function)
?
if(Controller Function is Not "Login()" Function)
{
if(empty($this->session->userdata('user_id'))){
redirect(base_url());
}
}
此问题的长版本如果不清楚短版本
这是我的codeigniter项目的管理控制器
class Admin extends CI_Controller
{
public function __construct()
{
parent::__construct();
/**
*
*
* Here - I am going to check session is set or not.....
*
*
*/
}
public function login(){
}
public function update(){
}
public function edit(){
}
public function insert(){
}
/**
*
*
* And Many More Functions
*
*
*/
}
我将把以下代码部分添加到构造函数。
if(empty($this->session->userdata('user_id'))){
redirect(base_url());
}
当我写这篇文章时,即使没有会话,我也无法进入login()
函数。如何在构造函数中编写上述代码,这些代码不会影响登录功能。
我看起来像这样,
if(Controller Function is Not "Login()" Function)
{
if(empty($this->session->userdata('user_id'))){
redirect(base_url());
}
}
答案 0 :(得分:0)
1.设置默认控制器是登录
function __construct()
{
if(!($this->session->has_userdata('user_id')) && $this->router->fetch_method() != "login"){
redirect(base_url());
}
}
2.如果没有将默认控制器设置为登录
function __construct()
{
if(!($this->session->has_userdata('user_id'))&& $this->router->fetch_method() != "login"){
redirect(base_url()."login");
}
}
答案 1 :(得分:0)
你可以使用这样的东西
function __construct()
{
if(!($this->session->has_userdata('user_id')) && $this->router->fetch_method()!='login'){
redirect(base_url());
}
}