Php CodeIgniter-如何将阵列从控制器转移到模型和控制器
我学习CodeIgniter已经5天了。现在我想写一个简单的权限函数 我的控制器:Php CodeIgniter-如何将阵列从控制器转移到模型和控制器,php,mysql,codeigniter,Php,Mysql,Codeigniter,我学习CodeIgniter已经5天了。现在我想写一个简单的权限函数 我的控制器: function index(){ $userID=$this->session->userdata('userID'); $data['user_data']=$this->user->get_user_data($userID); $user_type=$user_data['user_type']; if($user_type <=10){
function index(){
$userID=$this->session->userdata('userID');
$data['user_data']=$this->user->get_user_data($userID);
$user_type=$user_data['user_type'];
if($user_type <=10){
redirect(base_url().'users/login');
} else {
//POBIERANIE DANYCH UŻYTKOWNIKA DO TABLICY $user_data
$this->load->view('header');
$this->load->view('topMenu',$data);
$this->load->view('sideBar');
$this->load->view('dashboard',$data);
$this->load->view('footer');
}
}
在视图中,我可以使用,但当我在控制器中使用$user_data['user_type']时,出现以下错误:
严重性:通知
消息:未定义变量:用户类型
文件名:controllers/dashboard.php
请帮帮我。我想从MySQL获取用户类型,并与值进行比较,以授予或拒绝访问同一页面
注意。问题在于控制器。假设在分配$data['user\u data']=$this->user->get\u user\u data$userID时,它会神奇地变成控制器中的一个变量。事实并非如此。在您的控制器中,您几乎将事情当作普通的旧的前硬脑膜php。这意味着,如果您分配$data['whater']=whater,那么您所做的就是将$data作为一个包含数组的变量。因此,如果要从$data检索任何信息,则需要指定数组键 所以最后,为了解决你的问题。我想改变这一点:
function index(){
$userID = this->session->userdata('userID');
$data['user_data'] = $this->user->get_user_data($userID);
$user_type = $user_data['user_type'];
...
}
为此:
function index(){
$userID = this->session->userdata('userID');
$data['user_data'] = $this->user->get_user_data($userID);
$user_type = $data['user_data']['user_type'];
...
}
将控制器更改为底部的此代码。此错误是因为未向视图发送变量
function index(){
$userID=$this->session->userdata('userID');
$user_data = $this->user->get_user_data($userID);
$data['user_data']['user_id']= $userID;
$data['user_data']['user_type']=$user_data['user_type'];
if($user_type <=10){
redirect(base_url().'users/login');
} else {
$this->load->view('header');
$this->load->view('topMenu',$data);
$this->load->view('sideBar');
$this->load->view('dashboard',$data);
$this->load->view('footer');
}
}
我希望它能起作用。尝试使用$user\u type=$data['user\u data']['user\u type'];谢谢。它起作用了!CodeIgniter是最好的。
function index(){
$userID=$this->session->userdata('userID');
$user_data = $this->user->get_user_data($userID);
$data['user_data']['user_id']= $userID;
$data['user_data']['user_type']=$user_data['user_type'];
if($user_type <=10){
redirect(base_url().'users/login');
} else {
$this->load->view('header');
$this->load->view('topMenu',$data);
$this->load->view('sideBar');
$this->load->view('dashboard',$data);
$this->load->view('footer');
}
}
function get_user_data($userID){
$this->db->select()->from('users')->where('userID',$userID);
$query=$this->db->get()->row_array();
return $query;
}