1

I am working on Codeigniter and following this link codeigniter check for user session in every controller to check session at every controller, i have created MY_Controller.php inside libraries folder

<?php

class MY_Controller extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
    }

    public function is_logged_in()
    {
        $user = $this->session->userdata('logged_in');
        return isset($user);
    }
}


?>

Create_Check.php

Class Create_Check extends MY_Controller {

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

public function edit_getting_started($c_id)
{
    if ($this->is_logged_in())
    {
    $course_data['result']=$c_id;
    $this->load->view('goal',$course_data);
    }
    else
    {
    // go to login page.
    }
}
}

When i run Create_Check/edit_getting_started/3 i get the following error :

Fatal error: Class 'MY_Controller' not found in

I'm new to Codeigniter an do not have much knowledge about it i want a standard approach to check session at every page. Please help to solve my problem.Can we only put a check in controller construct method as seen in this link CodeIgniter - How to check session to be used at every methods

Community
  • 1
  • 1
user3653474
  • 3,393
  • 6
  • 49
  • 135
  • In all sincerity, please take the time to read the full CodeIgniter documentation. It should only take a few hours and most of these simple tasks, like extending core classes, are clearly explained. http://www.codeigniter.com/userguide3/general/welcome.html – Sparky Jan 27 '16 at 19:34

1 Answers1

2

To extend a core class, you must put its extension (the MY_Controller.php file in this case) under core/, not libraries/.

Link to the manual explaining this: http://www.codeigniter.com/userguide3/general/core_classes.html#extending-core-class

Narf
  • 14,600
  • 3
  • 37
  • 66
  • Thanks Narf for your answer, Can u please give any detailed idea of checking session in every controller method – user3653474 Jan 27 '16 at 18:09