gpt4 book ai didi

php - CodeIgniter 客户 Controller 类说 session 未定义

转载 作者:可可西里 更新时间:2023-11-01 01:09:45 26 4
gpt4 key购买 nike

我使用的是 CodeIgniter (v1.7.2),我创建了一个自定义 Controller ,它包含名为 MY_Controller 的身份验证(基于 David Winter 的博客文章)。当我加载任何使用这个基类的 Controller 时,我得到这个错误;

*Message: Undefined property: MY_Controller::$session*

请注意,我正在像这样自动加载“session”(和“MY_controller”作为一个库):

$autoload['libraries'] = array('database', 'session', 'MY_Controller');

这是 MY_Controller:

class MY_Controller extends Controller {
public function __construct() {
parent::__construct();
if (!$this->session->userdata('loggedin')) { <-- error is here
header('Location: /sessions/login');
exit();
}
}
}

这是我要加载的 Controller :

class Welcome extends MY_Controller {

function __construct() {
parent::__construct();
}

function index() {
$this->load->view('header');
$this->load->view('welcome_message');
$this->load->view('footer');
}
}

当我在错误发生的地方 var_dump $this->session 时,我可以看到它是 NULL。即使将 $this->load->library('session'); 放在 MY_Controller 的构造函数中也不起作用。为什么加载不正确?

谢谢

最佳答案

尝试将 MY_Controller 从自动加载中取出。

$autoload['libraries'] = array('database', 'session');

您正在扩展由 codeigniter 自动加载的 Controller 类,因为它是核心的一部分

关于php - CodeIgniter 客户 Controller 类说 session 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3817366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com