Php codeigniter上的管理员类型
我的管理员类型有问题 在我的数据库中,我有一个类型字段,它有1和2个值 1代表管理员 2是给收银员的 现在这是我的控制器Php codeigniter上的管理员类型,php,codeigniter,Php,Codeigniter,我的管理员类型有问题 在我的数据库中,我有一个类型字段,它有1和2个值 1代表管理员 2是给收银员的 现在这是我的控制器 <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Main extends CI_Controller { //functions function login() { //http:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Main extends CI_Controller {
//functions
function login()
{
//http://localhost/tutorial/codeigniter/main/login
$data['title'] = 'Lending System Login';
$this->load->view("login", $data);
}
function login_validation()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if($this->form_validation->run())
{
//true
$username = $this->input->post('username');
$password = $this->input->post('password');
//model function
$user = $this->load->model('main_model');
if($this->main_model->can_login($username, $password))
{
$session_data = array(
'username' => $username
);
$this->session->set_userdata($session_data);
redirect(base_url() . 'main/enter');
}
else
{
$this->session->set_flashdata('error', 'Invalid Username and Password');
redirect(base_url() . 'main/login');
}
}
else
{
//false
$this->login();
}
}
function enter(){
if($this->session->userdata('username') != '')
{
//check what type
//1 - admin
//2 - cashier
if($this->session->userdata('type') == 1)
{
// echo '<h2>Welcome - '.$this->session->userdata('username').'</h2>';
// echo '<label><a href="'.base_url().'main/logout">Logout</a></label>';
redirect(base_url(). 'main/admin');
}
else
{
redirect(base_url(). 'main/cashier');
}
}
else
{
redirect(base_url() . 'main/login');
}
}
function logout()
{
$this->session->unset_userdata('username');
redirect(base_url() . 'main/login');
}
}
我的问题是,我无法获得管理员类型,因为我没有键入它,它已经在数据库中,我的问题是,我如何才能拥有管理员类型
有人能帮我吗。我是codeigniter的新手
谢谢。明白了
我所做的就是这样
$session_data = array(
'username' => $username,
'type' => $type
);
$this->session->set_userdata($session_data);
if($this->session->userdata('username') != '')
{
if($this->session->userdata('type') == '1')
{
redirect(base_url(). 'main/admin');
}
else
{
redirect(base_url(). 'main/cashier');
}
}
如果您有一个名为
user\u type
的列来定义用户角色,请执行以下步骤
1) 在模型中,修改此选项
if($query->num_rows() > 0)
{
return $query->row_array(); // Send data from model to controller
}
else
{
return false;
}
$user_data = $this->main_model->can_login($username, $password)
if($user_data)
{
$session_data = array(
'username' => $user_data['username'],
'type' => $user_data['user_type'],
);
$this->session->set_userdata($session_data);
redirect(base_url() . 'main/enter');
}
else
{
$this->session->set_flashdata('error', 'Invalid Username and Password');
redirect(base_url() . 'main/login');
}
2) 在控制器中,修改此选项
if($query->num_rows() > 0)
{
return $query->row_array(); // Send data from model to controller
}
else
{
return false;
}
$user_data = $this->main_model->can_login($username, $password)
if($user_data)
{
$session_data = array(
'username' => $user_data['username'],
'type' => $user_data['user_type'],
);
$this->session->set_userdata($session_data);
redirect(base_url() . 'main/enter');
}
else
{
$this->session->set_flashdata('error', 'Invalid Username and Password');
redirect(base_url() . 'main/login');
}
user
表中是否有type
列?@imoverflow yesonly如果($query->num\u rows()>0)
不够,要么为admin设置条件,要么检查登录用户是否为adminadmin
或者这有一个错误,sir说消息:未定义属性:Main:$Main\u model文件名:controllers/Main.php行号:35像这样加载您的模型Main\u model
,$this->load->model('Main\u model')代码>