Reputation: 71
I have define this controller to check user session:
class SessionController extends CI_Controller {
function __construct()
{
parent::__construct();
$this->is_logged_in();
}
function dashboard_area(){
$data['main_content'] = 'dashboardView';
$this->load->view('dashboardTemplate/template', $data);
}
function is_logged_in()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
echo 'You don\'t have permission to access this page.';
die();
//$this->load->view('login_form');
}
}
} ?>
and in my login controller I do this..
class LoginController extends CI_Controller {
function index(){
$new['main_content'] = 'loginView';
$this->load->view('loginTemplate/template', $new);
}
function verifyUser(){
//getting parameters from view
$data = array(
'username' => $this->input->post('username'),
'password' => $this->input->post('password')
);
$this->load->model('loginModel');
$query = $this->loginModel->validate($data);
if ($query){ //if the user c validated
//data variable is created becx we want to put username in session
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('sessionController/dashboard_area');
}
else
{
$this->index();
}
}
function logout()
{
$this->session->sess_destroy();
$this->index();
}
}
?>
now the problem is I have many controllers how to I use this .. I don't want to make new session controllers again and again ... and if there is any more good for handling sessions in more then one controller then please let me know .. iIhave seen this answer also ... but after applying the answer no 14 .. it gives me this error
Fatal error: Class 'MY_Controller' not found in C:\xampp\htdocs\StockManagmentSystem\application\controllers\categoryController.php on line 4
I am working in a latest code igniter
Upvotes: 0
Views: 5173
Reputation: 665
Create a MY_Controller in the application/core folder which extends CI_Controller. Place your session functions in the MY_Controller file and then have the rest of your controllers extend MY_Controller instead of CI_Controller.
Upvotes: 3