大家好
我正在尝试创建一个允许用户以admin或简单用户身份进行连接的函数,方法是将名为(is_adminn)的users表中的列创建为INT。 目前我正在静态地做这件事:
function _check_admin_login($username, $pword)
{
$target_username="firas";
$target_pass="password";
if(($username==$target_username) && ($pword==$target_pass)){
return TRUE;
}else{
return FALSE;
}
}
然后我会在管理员控制器中调用它:
function username_check($str){
$this->load->module('store_accounts');
$this->load->module('site_security');
$error_msg = "Vous avez saisi un nom d'utilisateur ou un mot de passe incorrecte";
$pword = $this->input->post('pword', TRUE);
$result = $this->site_security->_check_admin_login($str, $pword);
if($result==FALSE){
$this->form_validation->set_message('username_check', $error_msg);
return FALSE;
}else{
return TRUE;
}
}
我做了很多测试,比如is_adminn的值等于1,它返回True
function _check_admin_login($username, $pword)
{
$this->load->module('store_accounts');
$this->store_accounts->fetch_data_from_db();
$is_adminn = $data['is_adminn'];
if($is_adminn==1){
return TRUE;
}else{
return FALSE;
}
}
答案 0 :(得分:0)
您可以轻松地执行所需操作,首次检查用户名和密码是否匹配,然后检查用户ID是否为状态is_admin 1。
模型
public function check_admin($id){
$query = $this->db->get_where('user', array('id' => $id, 'is_admin' => 1 ));
if ($query->num_rows()>0) {
return true;
}else{
return false;
}
}
控制器
$data['temp'] = $this->User_model->get_id_by_email($data['login']['email']);
$data['user'] = $this->User_model->check_login($data['login']['email'], $data['login']['password']);
if ($data['user'] && $this->Admin_model->check_admin($data['temp'][0]['id'])) {
$session_data = array(
//what you wanna store in session
);