codeigniter在非对象上调用成员函数is_admin()

时间:2015-05-04 20:22:49

标签: php codeigniter authentication

当我尝试登录我的管理页面时,我收到此错误,我要求它验证凭据

这里有一些片段:

// Tank_Auth.php Line 71
$this->ci->session->set_userdata(array(
    'is_admin'  => (bool) $user->is_admin, // added
    'user_id'   => $user->id,
    'username'  => $user->username,
    'status'    => ($user->activated == 1) ? STATUS_ACTIVATED : STATUS_NOT_ACTIVATED,
));
function is_admin()
{
    return $this->logged_in() && $this->ci->session->userdata('is_admin') === TRUE;
}


// controllers/auth.php Line 30
function login()
{
    if ($this->tank_auth->is_admin()) {
        redirect('admin');
    } elseif ($this->tank_auth->is_logged_in()) {
        redirect('user');
    }

所以我虽然如果我将其添加到我的登录页面,它将验证我是管理员:

public function index() {

   if ($this->tank_auth->is_admin())  {
        redirect('admin/dashboard');
    } else {
    $this->load->view('admin/vwLogin');
    }
}

有人可以帮帮我吗?我现在真的迷失了如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

在codeigniter中,

在调用模型(tank_auth之前:我假设这是一个模型),你需要加载该文件。

$this->load->model('tank_auth');

PS:您的模型文件必须位于模型文件夹中。如果你还有一个文件夹,那么:

$this->load->model('/extra_folder_name/tank_auth');