无法找到CodeIgniter'MY_'错误

时间:2013-02-15 03:35:35

标签: php codeigniter session session-state

我一直在为我的登录进行会话验证,以确保用户登录查看页面。我一直收到这个错误:

  

致命错误:/ usr / local / var / www / CodeTest中找不到类'MY_Staffcontroller'   第3行的/ci/application/controllers/staff_c.php

我的staff_c页面如下:

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

class Staff_c extends MY_Staffcontroller {

    function homepage()
    {
        $data['main_content'] = 'homepage_view';
        $this->load->view('includes/template', $data);
    }
}

我一直在阅读相同的问题,他们几乎都说同样的事情......

  

您的控制器是否位于应用程序/核心中?

是的,是的。我似乎无法通过这个驼峰!

Controller image

这是My_Staffcontroller.php中的代码:

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

class MY_staffcontroller extends CI_Controller {

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

        $loggedin = $this->session->userdata('loggedin');
        if(!isset($loggedin) || $loggedin != TRUE);
        {
            die($this->load->view('denied'));
        }
    }
}

我知道这是用户错误,因为这只是我第二天使用CodeIgniter,但我似乎找不到合适的解决方法吗?

我已经尝试了this教程,但仍然没有尝试this

即使关注this video,我仍然坚持会话部分。

我无法让这个工作。

1 个答案:

答案 0 :(得分:4)

记住 Linux是案例敏感而Windows不区分大小写。

MY_Staffcontroller放在application/core/MY_Controller.php文件

您的MY_Controller.php文件应如下所示(减去所有其他功能,这是一个最小的示例)

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

class MY_Controller extends CI_Controller
{
   public function __construct() 
   {
       parent::__construct(); 
   }
}
class MY_Staffcontroller extends MY_Controller 
{
    public function __construct() 
    {
       parent::__construct();
    }
    public function sayHello()
    { 
        echo "Hello, I am a function within MY_Staffcontroller.php";
    }
}

示例

这将位于/application/controllers目录中 基本上,位于protected OR public中的任何MY_ControllerMY_Staffcontroller函数都可以从扩展控制器的派生控制器访问。在这种情况下,它将是MY_Staffcontroller

class Public_Staff_Controller extends MY_Staffcontroller 
{
    public function __construct()
    {
        parent::__construct();
    }
    public function index()
    {
        $this->sayHello();
    }
}

/* end of file /application/core/MY_Controller.php */