致命错误:调用未定义的方法CI_Model :: User_model()

时间:2016-06-22 16:23:33

标签: php codeigniter class

有谁知道我怎么能摆脱这个错误:“致命错误:调用未定义的方法CI_Model :: User_model()”

这是我的user.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
    class User extends CI_Controller{    
        function user_model(){
            parent::User_model();
            $this->load->model('user_model','',TRUE);
        }
    public function index(){
        $this->login();
    }   
    function login(){
    //xss_clean doesn't work...
        $this->form_validation->set_rules('username', 'Username',                                  
        'required|trim|max_length[50]');
        $this->form_validation->set_rules('password', 'Password',     
        'required|trim|max_length[150]');       
        if ($this->form_validation->run() == FALSE){
            $this->load->view('view_login');
        }
        else{   
        }
    }
}
?>

这是user_model.php

<?php
class User_model extends CI_Model {
    function user_model(){
        parent::User_model();
    }
    function check_login($username, $password){
        $sha1_password = sha1($password);
        $query_str = "SELECT user_id FROM users WHERE username = ? and          
        password = ?";
        $result = $this->db->query($query_str, array($username,         
        $sha1_password));
        if ($result->num_rows() == 1){
            return $result->row(0)->user_id;
        }
        else{
            return false;
        }
    }
}
?>

这是我的自动加载:$autoload['model'] = array('User_model');

我是codeigniter的新手,我正在关注一个教程,在视频中一切都很顺利,但我得到了错误。 也许这是一个简单的答案,但我无法得到它。

1 个答案:

答案 0 :(得分:2)

以下问题是一些最明显的问题。我强烈要求你go back to the documentation并更彻底地检查一切。

请参阅the documentation中的示例来构建模型。

<?php

class User_model extends CI_Model {
    public function __construct()
    {
        // Call the CI_Model constructor
        parent::__construct();
    }
    function check_login($username, $password)
    { ....

然后refer to the docs为您的控制器......

<?php

    class User extends CI_Controller {    

        public function index()
        { ....

要加载,请密切注意拼写中的大写/小写...

$autoload['model'] = array('user_model');

所有这些都应该拼写为小写when you're referring to it