我想检查用户是否登录codeigniter并将其设置为config/routing.php
nedded控制器作为默认值,并根据用户的访问级别重定向所有请求。
我在config/routing.php
制作,直到现在这样:
if ($_SESSION['loggedin'] == TRUE){
$route['default_controller'] = $_SESSION['class'];
$route['(.*)'] = $_SESSION['class']."/$1";
} else {
$route['default_controller'] = 'first';
}
我尝试使用$this->session->userdata()
,但我发现错误,因为我认为config/autoload.php
或会话是在config/routing.php
之后加载的。
任何想法?
答案 0 :(得分:2)
在codeigniter中加载会话,如下所示
$this->load->library('session');
但最好加载autoload.php
。
它不是$_SESSIONS
$_SESSION
if ($_SESSION['loggedin'] == TRUE){
$route['default_controller'] = $_SESSION['class'];
$route['(.*)'] = $_SESSION['class']."/$1";
} else {
$route['default_controller'] = 'first';
}
在codeigniter中使用,如命中,
if($this->session->userdata("loggedin") == TRUE)
{
$route['default_controller'] = $this->session->userdata("class");
$route['(.*)'] = $this->session->userdata("class")."/$1";
} else {
$route['default_controller'] = 'first';
}
答案 1 :(得分:0)
好的,我已经没有错误地工作了。我评论了system/libraries/Session/Session.php
中的两行:
session_start(); (Line:140)
ini_set('session.use_trans_sid', 0); (Line:313)
并添加到appliction/config/routes.php
session_start()
。它的工作没有错误。
我希望能帮助任何人。