Codeigniter检查数据库中是否存在用户


Codeigniter check if user exists in database

我想检查用户是否存在于数据库中。我的Model中有一个方法如下:我创建一个新的user,从发布的数据中插入idpassword,然后将id传递给函数,以检查是否存在具有此id的用户。但它给出了以下错误:


Severity: Notice Message: Undefined property: Login::$User Filename: controllers/login.php Line Number: 56 Fatal error: Call to a member function user_exists() on a non-object in F:'xamp'htdocs'leoSMS'application'controllers'login.php on line 56 Model name : User


用户检查功能

public function user_exists($id){
    $this->db->select('id');
    $this->db->where('id',$id);
    $query = $this ->db->get('user_table');
if ($query->num_rows() > 0)
        return TRUE;
else    
    return FALSE;
}

控制器

<?php
class Login extends CI_Controller 
{
    /**  
     * load the magazines
     */
    function __construct(){
        parent::__construct();
        $this->load->library('form_validation');
        $this->load->model('User','National_Holiday','Updated_Holiday');
    }
    public function index() {
        $this->load->view('login'); 
    }
    /** 
     * add a magazine
     */
    public function login()
    {
        $this->form_validation->set_rules(array (
        array(
           'field'  => 'username',
           'label' => 'username',
           'rules' => 'required|is_numeric|max_length[1]|min_length[1]',
           ) ,
        array(
           'field'  => 'password',
           'label' => 'password',
           'rules' => 'required|is_numeric|max_length[1]|min_length[1]',
           ),   
        ));
        $this -> form_validation ->set_error_delimiters(
            '<div class="alert alert-error">','</div>');
        echo $this->input->post('username') . "<br>";
        echo $this->input->post('password'). "<br>";
        $user = new User();
        $user->user_id = $this->input->post('username');
        $user->password = $this->input->post('password');
        echo "<tt><pre>". var_dump($user) . "</tt></pre>";
        if($this->User->user_exists($user->user_id))
            echo "true";
        else {
            echo "false";
        }
        if(!$this->form_validation->run()){
           $this->load->view('login');
        }
       else {
           $this->load->view('national_holiday_screen');
       }
    }
}

尝试这个模型类

function create_member()/** function to create the new user **/
{
    $this->db->where('Username ', $this->input->post('Username '));
    $query = $this->db->get('register');
    if($query->num_rows > 0)
    {
        echo '<div class="alert alert-error"><a class="close" data-dismiss="alert">×</a><strong>';
        echo "Username already taken";  
        echo '</strong></div>';
    }
}

尝试if($user->user_exists($user->user_id))而不是if($this->User->user_exists($user->user_id))

您的语句正试图执行未知属性User的方法。可能用途没有定义为Login类的属性。新语句正在调用User类对象的方法。这个对象之所以存在,是因为您刚刚创建了它。