我一直在尝试加载模型用户模型.php但我没有运气遇到这个错误我已经检查了十几次我的代码,但我似乎找不到其中的错误。在学校,我的代码正在工作。我认为这是因为我在库中使用的是 windows 10 操作系统,但是当我回到家并在我的机器上尝试时,它总是显示上面的错误。我似乎听不懂
这是我的控制器的代码:
class Login extends CI_Controller{
public function __construct(){
parent::__construct();
}
function validate(){
$this->form_validation->set_rules('username', 'Username', 'trim|required|callback_checkuser');
$this->form_validation->set_rules('password', 'Password', 'md5|trim|required');
$x = $this->form_validation->run();
if($x){
if($this->session->userdata('is_logged_in') == 1){
$this->load->model('balancesModel');
$this->balancesModel->b1_update();
$this->balancesModel->b2_update();
$this->balancesModel->b3_update();
redirect((base_url()) . 'admin/tenants');
}else{
redirect((base_url()) . 'main/payments');
}
}else{
$x['title'] = "CPMS - Login";
$x['error'] = "incorrect username/password";
$this->load->view('startpage', $x);
}
}
function checkuser(){
$this->load->model('usersModel'); //this part is where the error starts
$x = $this->usersModel->get_user();
if($x){
return true;
}else{
return false;
}
}
}
这是我的用户模型的代码:我已经尝试了很多教程来定位模型,但似乎没有什么适用于我的代码
class UsersModel extends CI_Model{
function get_user(){
$username = $this->input->post('username');
$password = md5($this->input->post('password'));
$query = "select * from admin where username='$username' and password='$password'";
$x = $this->db->query($query);
if($x){
if($x->num_rows() > 0){
$username = $this->input->post('username');
$data = array(
'username' => $username,
'is_logged_in' => 1
);
$this->session->set_userdata($data);
return true;
}
}
}
}
我将不胜感激任何关于我将修复此错误的建议。我还想知道在Windows和linux OS中编写php代码是否有区别。
顺便说一下,这是我得到的确切错误:"找不到您指定的模型:用户模型"
它在学校工作,因为Windows机器可以很好地使用UsersModel
的文件名。因为它不区分大小写。
Codeigniter 正在$this->load->model('usersModel');
行上查找 UsersModel,但您的文件名不同。此外,当您在代码点火器中加载模型时,即使您的类是 UsersModel,也建议使用所有小写字母。
Linux 区分大小写。您应该将文件名与类名匹配。
您的模型类名称应如下所示
<?php
class Users_model extends CI_Model {
}
和文件名:
User_model.php
然后加载到控制器上时
$this->load->model('user_model');
$this->user_model->get_some_function();