我是Codeigniter的新手,仍然试图了解一些基础知识。
我正在建立一个注册/登录系统。一切都很好。
我正在创建一个控制器来显示用户信息。在此之前,我想检查会话是否存在以及用户是否已登录,如果不是,我想重定向到站点根目录。
class Myprofile extends CI_Controller {
function __construct()
{
$user_data = $this->session->userdata('user_data');
$user_data['logged_in'] = isset($user_data['logged_in']) ? $user_data['logged_in'] : null;
if($user_data['logged_in'] != 1){
redirect();
}
}
public function index(){
redirect("myprofile/info");
}
public function info(){
echo"here I'll ave my info";
}
}
问题是我得到的错误。看起来我无法在脚本的构造部分看到会话。
遇到PHP错误
严重性:注意
消息:未定义属性:Myprofile :: $ session
文件名:controllers / myprofile.php
行号:6
这将是最好的解决方案,否则我需要在所有功能上使用相同的代码。
希望听到一些反馈意见。感谢
答案 0 :(得分:2)
可能未加载会话库。在位于array()
application/config/autoload.php
上添加会话类
例如
$autoload['libraries'] = array('database', 'session', 'output');
答案 1 :(得分:0)
class Myprofile extends CI_Controller {
function __construct()
{
$this->load->library('session');
$user_data = $this->session->userdata('user_data');
$user_data['logged_in'] = isset($user_data['logged_in']) ? $user_data['logged_in'] : null;
if($user_data['logged_in'] != 1){
redirect();
}
}
public function index(){
redirect("myprofile/info");
}
public function info(){
echo"here I'll ave my info";
}
}