0
如果有人登錄,此代碼將檢查會話,並且我可以成功查看該頁面,但現在我想檢查用戶是否爲admin。我試着檢查模型下面是我已經嘗試過,它不工作。它檢查會話檢查管理員是否已登錄
方法,如果它的一個管理員
public function index()
{
$this->load->library('authlib');
$loggedin = $this->authlib->is_loggedin();
///$admin = $this->auth->admin();
if ($loggedin === false) {
$this->load->helper('url');
redirect('/auth/login');
}
if ($this->auth->admin() === false) {
$message ['msg'] = "You are not an admin!";
$this->load->view('homeview', $message);
}
else
{
$this->load->view('add_view');
}
}
驗證控制器
public function authenticate()
{
$username = $this->input->post('uname');
$password = $this->input->post('pword');
$user = $this->authlib->login($username,$password);
**>> $this->admin($username,$password); << passes the posted in values**
if ($user !== false) {
$this->load->view('homeview',array('name' => $user['name']));
}
else {
$data['errmsg'] = 'Unable to login - please try again';
$this->load->view('login_view',$data);
}
}
public function admin($username,$password){
//$this->load-model('usermodel');
$admin = $this->authlib->adminlib($username,$password);
if ($admin == false){
return false;
//if ($res->num_rows() != 1){
//return false;
}
}
庫authlib的
public function adminlib($user,$pwd)
{
return $this->ci->usermodel->chkadmn($user,$pwd);
}
模型
function chkadmn($username,$password)
{
$this->db-where(array('username' => $username,'password' => sha1($password)));
$res = $this->db->get('users',array('type'));
if ($res->num_rows() != 1) {
return false;
}
}
做了一些改動,現在我得到「調用未定義的函數,其中()在C:\ XAMPP \ htdocs中\ ecwm604 \程序\型號\上線54 usermodel.php」
立即跳出我的事情是,chkadmn是沒有參數聲明。但是如果你發佈了你得到的錯誤信息,你會有更好的運氣。 –
有很多語法錯誤,1)'$ this-> auth-> admin()'你在哪裏加載了這個庫/模型? 2)'if($ this-> auth-> admin()== false){'沒有接近花括號。 3)在Auth Controller中,你在哪裏設置了'$ res'變量。 4)chkadmn函數沒有聲明參數,它不返回任何東西 –
你應該打開php.ini文件中的PHP錯誤,看看你得到了什麼u.u –