php - 调用非对象上的成员函数 userdata()

标签 php codeigniter

大家好,我有一个代码给我这个错误

Fatal error: Class 'MY_Controller' not found in C:\wamp\www\project\application\controllers\admin\home.php on line 3

我不知道为什么会显示此错误...

C:\wamp\www\project\application\controllers\admin\home.php 的代码为

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends MY_Controller {

function index()
{
    redirect('admin/login');
}

function logout()
{
    $this->session->unset_userdata('logged_in');
    //session_destroy();
    redirect('admin/login');
}
}
?>

C:\wamp\www\project\application\libraries\MY_Controller.php 的代码为

<?php

class MY_Controller extends CI_Controller {
public function __construct() {
    parent::__construct();
    if (!$this->session->userdata('logged_in')) {
        redirect('admin/login');
    }
}

}

如果我放置

class Home extends CI_Controller

而不是

class Home extends MY_Controller

C:\wamp\www\project\application\controller\admin\home.php

文件并尝试加载

C:\wamp\www\project\application\libraries\MY_Controller.php

在构造函数中

C:\wamp\www\project\application\controllers\admin\home.php

它显示

Call to a member function userdata() on a non-object

为什么会这样?

最佳答案

扩展系统类时,需要将类文件放入core文件夹中,而不是library文件夹中。将MY_Controller.php放入core文件夹中。

关于php - 调用非对象上的成员函数 userdata(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10105922/

相关文章:

php - 在 codeigniter 中使用 hmvc 时未加载 routes.php 文件?

php - 如何从字段 auto_increment 填充字段外键

php - codeigniter 的 seo 友好 url

php - 如何转义 mysql 插入的斜杠?

php - 通过php文件添加数据库时验证值

php - 错误 : Unknown column 'Array' in 'field list' (codeigniter)

php - 在 CI 的 sql 中使 where 子句动态化

php - 在mysql中连接3个表

php - PHP 中的字符串处理

php - Ajax search pro 高级选项 - 将自定义字段与术语组合