2016-06-22 5 views
1

Wer weiß, wie ich diesen Fehler loswerden kann: "Fatal error: Call to undefined Methode CI_Model :: User_model()"Fatal error: Call to undefined Methode CI_Model :: User_model()

Das ist mein 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{ 
     } 
    } 
} 
?> 

Dies ist der 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; 
     } 
    } 
} 
?> 

das ist mein automatisches Laden ist: $autoload['model'] = array('User_model');

Ich bin neu in coderigniter und ich habe ein Tutorial verfolgt, im Video lief alles gut, aber ich bekomme Fehler voncrs. Vielleicht ist es eine einfache Antwort, aber ich konnte es nicht verstehen.

+1

Warum rufen Sie in beiden Klassen Eltern? User_model(); Sind Sie sicher, dass diese Methode existiert? – tkausl

Antwort

2

Die folgenden Punkte sind einige der offensichtlichsten. Ich fordere Sie dringend auf go back to the documentation und überprüfen Sie alles gründlicher.


auf die Beispiele in the documentation finden für Ihr Modell zu konstruieren.

<?php 

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

Und dann refer to the docs für Ihren Controller ...

<?php 

    class User extends CI_Controller {  

     public function index() 
     { .... 

Zum Laden, zahlen mehr Aufmerksamkeit auf die Groß-/Kleinschreibung in der Rechtschreibung ...

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

Es ist alles soll in Kleinbuchstaben geschrieben werden when you're referring to it.

+1

Sie, mein Herr, sind ein Held. Vielen Dank! –

Verwandte Themen