Php 用户';来自扩展控制器的角色
我在这里尝试做的主要是在仪表板控制器中。到目前为止,我已经使用Phil Sturgeon的模板库创建了索引函数,以构建仪表板作为主要内容视图。我有一些事情要考虑。我有管理员和基本用户可以看到仪表板。管理员将能够从仪表板内部看到基本用户可以看到的不同信息,如站点信息、待定注册等 我应该为不同类型的用户提供单独的仪表板视图吗 如果是,我如何从Admin_控制器访问user_数据,以便在仪表板的index函数中执行If语句检查,以查看他们是什么类型的用户Php 用户';来自扩展控制器的角色,php,codeigniter,Php,Codeigniter,我在这里尝试做的主要是在仪表板控制器中。到目前为止,我已经使用Phil Sturgeon的模板库创建了索引函数,以构建仪表板作为主要内容视图。我有一些事情要考虑。我有管理员和基本用户可以看到仪表板。管理员将能够从仪表板内部看到基本用户可以看到的不同信息,如站点信息、待定注册等 我应该为不同类型的用户提供单独的仪表板视图吗 如果是,我如何从Admin_控制器访问user_数据,以便在仪表板的index函数中执行If语句检查,以查看他们是什么类型的用户 <?php if (!defined('
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Admin_Controller extends CI_Controller
{
public $data = array();
public function __construct()
{
parent::__construct();
$this -> load -> model('user_model', 'user');
$user_id = $this -> session -> userdata('user_id');
$user_data = $this -> user -> get($user_id);
$this -> data['user_data'] = $user_data;
$this -> template -> set_theme('saturn') -> set_layout('default', 'admin') -> set_partial('navigation', 'admin/partials/navigation') -> set_partial('header', 'admin/partials/header');
}
}
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Dashboard extends Admin_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
$this -> template -> build('admin/dashboard', $this -> data);
}
}
<代码> < P>我可以给出一个建议,因为您将有一个管理员帐户,它必须始终存在,认为它将是您的用户表的第一个记录(因为管理员和用户将是同一个表,并且将有不同的角色),所以ID将是1,我猜应该是这样,所以在您的仪表板控制器
public function index()
{
if($this -> session -> userdata('user_id') == 1){
$this -> template -> build('admin/dashboard', $this -> data);
}else{
//user dashboard.
}
}
否则,您可以通过您的角色来定义它,比如admin have Role Id=1
我希望这对你有帮助
我应该为不同类型的应用程序设置单独的仪表板视图吗
用户
取决于仪表板结构。如果普通用户和管理员完全不同,那么最好为booth用户类型构建一个单独的仪表盘。如果有一些公共元素,可以在视图中使用If语句来检查用户类型并使用righ仪表板部件。这更多的是为了你的方便,而不是一个惯例
如果是,我如何从管理员控制器访问用户数据
我可以在
仪表板以查看他们是什么类型的用户
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Admin_Controller extends CI_Controller
{
public $data = array();
public function __construct()
{
parent::__construct();
$this -> load -> model('user_model', 'user');
$user_id = $this -> session -> userdata('user_id');
$user_data = $this -> user -> get($user_id);
$this -> data['user_data'] = $user_data;
$this -> template -> set_theme('saturn') -> set_layout('default', 'admin') -> set_partial('navigation', 'admin/partials/navigation') -> set_partial('header', 'admin/partials/header');
}
}
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Dashboard extends Admin_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
$this -> template -> build('admin/dashboard', $this -> data);
}
}
您应该将用户_数据数组传递给视图,而不是从中读取会话数据。查看部分od您的系统应始终直接从控制器获取所有数据,而不是从会话或任何其他应用程序组件获取