Я новичок в использовании Codeigniter, у меня есть контроллер входа и модель входа в CI, почему я получаю эту ошибку?

" Неопределенное свойство: Login :: $ Login_model "

Ошибка в строке 44 в контроллере "входа в систему":

if ($ this-> Login_model-> check_user ($ username, $ password) == TRUE)

Это мой "логин" Контроллер.

<?php 
 class Login extends CI_Controller {
 public function __login()
 {
    parent::__construct();
    $this->load->model('Login_model', '', TRUE);    
 }

 function index()
 {
    if ($this->session->userdata('login') == TRUE)
    {
        redirect('home');
    }
    else
    {
        $this->load->view('login/login_view');
    }
 }

 function process_login()
 {
    $this->form_validation->set_rules('username', 'Username', 'required');
    $this->form_validation->set_rules('password', 'Password', 'required');      
    if ($this->form_validation->run() == TRUE)
    {
        $username = $this->input->post('username');
        $password = $this->input->post('password');

        if ($this->Login_model->check_user($username, $password) == TRUE)
        {   
            //$datalevel = $this->Login_model->check_user($username);
            $data = array('username' => $username, 'login' => TRUE);
            $this->session->set_userdata($data);
            redirect('home');
        }
        else
        {
            $this->session->set_flashdata('message', 'Username dan/atau password Anda salah');
            redirect('login/index');
        }
    }
    else
    {
        $this->load->view('login/login_view');
    }
 }

 function process_logout()
 {
    $this->session->sess_destroy();
    redirect('login', 'refresh');
 }

А это моя модель "login_model"

<?php
class Login_model extends CI_Model {
  function Login_model()
  {
    parent::__construct();
  }

  var $table = 'user';

  function check_user($username, $password)
  {
    $query = $this->db->get_where($this->table, array('username' => $username, 'password' => $password), 1, 0);

    if ($query->num_rows() > 0)
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
  }
}
0
Al Fathir 16 Окт 2019 в 09:07

1 ответ

Лучший ответ

Он говорит, что ваша модель не загружена. Вы можете исправить это, изменив название метода ниже

public function __login()

К

public function __construct()

Таким образом, он будет автоматически вызываться при вызове вашего класса, и ваша модель будет автоматически загружена.

0
ascsoftw 16 Окт 2019 в 06:11