Я пытался загрузить модель usersModel.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;
}
}
}
}
Я буду признателен за любые предложения, которые я получу, чтобы исправить эту ошибку.
Я также хотел бы знать, есть ли разница написания PHP-кодов в Windows и ОС Linux.
кстати, вот точная ошибка, которую я получаю:
«Невозможно найти указанную вами модель: usersmodel»
Это работает в школе, потому что Windows машина хорошо с именем файла для UsersModel
, Так как его регистр нечувствителен.
Codeigniter ищет UsersModel на $this->load->model('usersModel');
строка, но ваше имя файла отличается. Также, когда вы загружаете модели в codeigniter, рекомендуется использовать все строчные буквы, даже если ваш класс — UsersModel.
Linux чувствителен к регистру. Вы должны сопоставить свое имя файла с именем вашего класса.
Название вашей модели должно выглядеть примерно так
<?php
class Users_model extends CI_Model {
}
И имя файла:
User_model.php
Затем при загрузке на контроллер
$this->load->model('user_model');
$this->user_model->get_some_function();