代码之家  ›  专栏  ›  技术社区  ›  Steve N

CodeIgniter客户控制器类表示会话未定义

  •  4
  • Steve N  · 技术社区  · 14 年前

    *消息:未定义属性:我的\u控制器::$session*

    请注意,我正在自动加载“session”(以及作为库的“myu controller”),如下所示:

    $autoload['libraries'] = array('database', 'session', '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();
            }
        }
    }
    

    class Welcome extends MY_Controller {
    
        function  __construct() {
            parent::__construct();
        }
    
        function index() {
            $this->load->view('header');
            $this->load->view('welcome_message');
            $this->load->view('footer');
        }
    }
    

    当我倒垃圾的时候 $this->session 在上面发生错误的地方,我可以看到它是空的。甚至把 $this->load->library('session'); 在我的\u中,控制器的构造函数不起作用。为什么装不好?

    谢谢

    1 回复  |  直到 14 年前
        1
  •  4
  •   Johnny Tops    14 年前

    试着把我的控制器从自动加载中拿出来。

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

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