Codeigniter - 调用未定义的方法

时间:2015-10-06 06:42:38

标签: php codeigniter

我在Ci有一个项目,由于某种原因我无法识别我的check2()。 CI不断抛出致命错误:调用未定义的方法CI_Loader :: check2()

controller(Login.php)

class Login extends CI_Controller {

 public function index() {
 // Page variables
 $page['title'] = "Analytics Login";  
 $this->load->view('header', $page); 
 $this->load->view('login');
 $this->load->view('footer');
 }

 public function verify() {

 $verifier = $this->load->model('Verifylogin_model');

 $username = $this->input->post('username');
 $password = $this->input->post('password');

 if((!$verifier->check2($username,$password))) {
 $this->load->view('login');
 } else {
 redirect('home', 'refresh'); 
 }
 }
}

模型(verifylogin_model.php)

<?php
Class Verifylogin_model extends CI_Model {

 function __construct() {
 parent::__construct();
    }

 public function check2($username, $password) {

 $this->db->select('user_id, user_email');
 $this->db->from('admin_users');
 $this->db->where('user_email', $username);
 $this->db->where('user_pass', md5($password));
 $this->db->limit(1);

 $results = $this->db->get();

 if ($results->num_rows() == 1) {
 return true;
 } else {
 return false;
 }
 }
}
?>

3 个答案:

答案 0 :(得分:1)

CI加载器不会返回模型实例,而是返回全局CI实例。

您可以使用:

$this->load->model('Verifylogin_model');
$verifier = $this->Verifylogin;

答案 1 :(得分:1)

以下列方式访问模型方法

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

 $this->verifylogin_model->check2();

答案 2 :(得分:1)

CI使用&#34;依赖注入&#34;巨资。 Loader不是工厂类,您无法直接获得Verifylogin_model实例。在CI中,您应该像下面的示例一样调用模型

if (!$this->Verifylogin_model->check2($username, $password)) {
 /* your code */
}