CodeIgniter检查每个控制器中的会话?

时间:2013-01-11 10:13:24

标签: php codeigniter session methods controller

我已经定义了这个控制器来检查用户会话:

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');
    }
}       
    } ?>

在我的登录控制器中我这样做..

   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();
}
}   
?>

现在问题是我有很多控制器如何使用它..我不想一次又一次地制作新的会话控制器......如果有更多的好处理多个控制器的会话然后请告诉我 .. 我也看到了这个答案......但是在应用了答案14之后......它给了我这个错误

Fatal error: Class 'MY_Controller' not found in C:\xampp\htdocs\StockManagmentSystem\application\controllers\categoryController.php on line 4

我正在使用最新的代码点火器

1 个答案:

答案 0 :(得分:3)

在application / core文件夹中创建一个扩展CI_Controller的MY_Controller。将会话函数放在MY_Controller文件中,然后让其余的控制器扩展MY_Controller而不是CI_Controller。