如何使用PHP会话为非管理员用户创建不同的菜单?

时间:2013-10-11 09:09:10

标签: php session codeigniter-2

我是这个论坛的新手,最近我刚刚创建了网络应用来管理股票等等。 (抱歉我的英语不好)

我只是考虑是否必须为非管理员用户制作不同的菜单。这是管理员的菜单

this is admin menu

我需要删除注册用户的主菜单和设置菜单。 我可以通过使用会话来制作吗?

4 个答案:

答案 0 :(得分:1)

通过询问授权组件,允许不同的人做不同的事情。 CodeIgniter没有自己的授权组件。你必须在其他地方找一个。

会话不会直接帮助。会话知道哪个用户正在使用该应用程序;必须将该信息传递给授权组件,以确定是否允许用户访问为管理员保留的页面。

答案 1 :(得分:0)

您可以在模板中显示菜单之前检查会话

$this->c_type = $this->CI->session->userdata('logtype');


        $menubar ='';

        if($this->c_type == 'Admin')
        {
           $menubar = $this->CI->load->view('admin/menubar', $data, true);      

        }                   
        else
                {
                    $menubar = $this->CI->load->view('general/menubar', $data, true);
                 }

答案 2 :(得分:0)

您可以通过以下

获取user_id
    $user_id=$this->session->userdata('user_id');

if($user_id ==1){ // I considered admin user_id =1
 echo "admin menu";
}
else{
 echo "user menu";
}

答案 3 :(得分:0)

这是我的main.php代码



class Main extends CI_Controller {

function __construct() { parent::__construct(); if(!$this->session->userdata('logged_in')) { redirect(site_url('login').'?u='.uri_string(), 'refresh'); } $this->data['title'] = 'Home'; $this->data['active'] = 'home'; $this->data['menu'] = array('home','keuangan','penjualan','pembelian','stok','master','setting'); } function index() { $data['title'] = 'Main'; $this->load->view('common/header',$this->data); $this->load->view('common/footer'); }

}