如何根据登录人员在codeigniter中的角色为所有视图使用公共数据

时间:2016-05-05 12:49:35

标签: codeigniter

我正在使用代码点火器。在我的编码中,我想要所有页面的共同视图。在登录控制器中,我根据用户提供菜单。如果我单击菜单,它应该重定向到菜单和菜单列表。 登录控制器::

public function index(){



     if($this->session->userdata('isLoggedIn')){


    $id = $this->session->userdata('id');                                           

                $data['user']=$this->login_model->user_menu($id);

                $data['admin']=$this->login_model->admin_menu($id);

                $this->load->view('user_view',$data);


     }
    else{   

         $this->show_login(false);
     }
 }

菜单控制器:

public function index()
{



        $this->load->view('user_view',$????);
        $this->load->view('Right_view',$data);  

}

两个索引存在于不同的控制器中。我需要从Login控制器到Menu控制器的数据。我想用库来实现这个目的。有谁引导我?

1 个答案:

答案 0 :(得分:0)

我可以看到2个optioins

一个 appliation /型芯/ my_core.php

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

        $CI =& get_instance();

        $CI->load->library(array('session'));
    }

    public function validate_login(){
        //logic to validate login
    }

    public function add_data(){
        $data  = array(
                      //what you want
                      );
    }
}

normal_controller.php

class Normal_controller extends My_core{
    public function __construct(){
        parent::__construct();

        $this->validate_login();
    }

    public function index(){
        $this->add_data();

        $data;
        $this->load->view('view', $data);
    }
}

2 Controller.php这样

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

        $this->load->library(array('validate_login', 'session'));
    }

    public function index(){
        if( $this->validate_login->success()){
            redirect('user', 'refresh');
        }
        else{
            $data = array();
            $this->load->view('normal_view', $data);
        }
    }
}

controller user.php

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

        $this->load->library(array('validate_login', 'session'));
        $this->validate_login->run();
    }

    public function index(){
        $data;
        $this->load->view('user', $data);
    }
}

library validate_login.php

class Validate_login{
    public function __construct(){
        parent::__construct();

        $CI =& get_instance();

        $CI->load->library('session');
    }

    public function login_c(){
        $CI->session->set_userdata('loged', true);
    }

    public function run(){
        if( $CI->session->userdata('loged') !== true){
            redirect(base_url());
        }
        else{
            $data = array(
                          //what you want
                         );
        }
    }

    public function success(){
        return ( $CI->session->userdata('loged') === true) ? true : false;
    }
}