Php 检查其管理员或用户所在的登录名
我为管理员和用户创建单独的注册表,并为管理员和用户创建一个表。我的Php 检查其管理员或用户所在的登录名,php,codeigniter,Php,Codeigniter,我为管理员和用户创建单独的注册表,并为管理员和用户创建一个表。我的u\u admin表有一个列admin\u flag,因此当管理员注册时,我发送admin\u flag=1,当用户注册时,我发送admin\u flag=0 现在的问题是,在我的登录页面上,当用户输入他的电子邮件和密码时,codecheck在数据库中检查admin_标志是0还是1,如果是0,浏览器将重定向到user_view.php,如果admin_标志是1,它将重定向到admin_view.php 请帮帮我 模型 控制器 fu
u\u admin
表有一个列admin\u flag
,因此当管理员注册时,我发送admin\u flag=1
,当用户注册时,我发送admin\u flag=0
现在的问题是,在我的登录页面上,当用户输入他的电子邮件和密码时,codecheck在数据库中检查admin_标志是0还是1,如果是0,浏览器将重定向到user_view.php
,如果admin_标志是1,它将重定向到admin_view.php
请帮帮我
模型
控制器
function login_user() {
{
$this->load->model('admin_model');
$this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE) {
$this->load->view('login');
} else {
$data = array(
'email' => $this->input->post('email'),
'password' => $this->input->post('password')
);
$result = $this->admin_model->validate_user($data);
if($result == TRUE){
$sess_array = array(
'email' => $this->input->post('email')
);
// Add user data in session
$this->session->set_userdata('logged_in', $sess_array);
$result = $this->admin_model->read_user_information($sess_array);
if($result != false){
$data = array(
'fname' =>$result[0]->fname,
// 'user_name' =>$result[0]->user_name,
'email' =>$result[0]->email,
'password' =>$result[0]->password,
'admin_flag'=>$result[0]->admin_flag
);
//if(num_rows()->admin_flag == 1){
$this->load->view('success',$data);
// }
// else{
// $this->load->view('success2',$data);
//}
}
}
else
{
$data = array(
'error_message' => 'Invalid Username or Password'
);
$this->load->view('login', $data);
}
}
}
}
根据admin_flg值调用单独的视图 if(admin_flg==1) 调用管理员视图 否则
调用用户视图您可以通过以下方式进行检查:
if($result[0]->admin_flag== 1){
$this->load->view('admin',$data);
}
else{
$this->load->view('user',$data);
}
检查您的状况行:
$condition = "email =" . "'" . $data['email'] . "'" . "password =" . "'" . $data['password'] . "'AND " . "admin_flag =" . "'" . $data['admin_flag'] . "'";
在$data变量中,您需要传递“admin_标志”以及电子邮件和密码字段
更改控制器文件中的以下代码:
$data = array(
'email' => $this->input->post('email'),
'password' => $this->input->post('password'),
'admin_flag' => $this->input->post('admin_flag')
);
您的数据库中是否有任何字段可以检查它是管理员还是普通用户??将电子邮件和密码传递给您的validate_user()若条件匹配,则获取数据,若为1,则检查控制器中的admin_标志值,然后重定向到admin_view.php else user_视图。php@saty是的,我创建了一个列admin_标志…如果colummn值为1,则为其admin,如果为0,则为其用户
$data = array(
'email' => $this->input->post('email'),
'password' => $this->input->post('password'),
'admin_flag' => $this->input->post('admin_flag')
);