我在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;
}
}
}
?>
答案 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 */
}