有谁知道我怎么能摆脱这个错误:“致命错误:调用未定义的方法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的新手,我正在关注一个教程,在视频中一切都很顺利,但我得到了错误。 也许这是一个简单的答案,但我无法得到它。
答案 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。