簡體   English   中英

Codeigniter檢查用戶是否存在於數據庫中

[英]Codeigniter check if user exists in database

我想檢查用戶是否存在於數據庫中。 我的模型中有一個方法如下:我創建一個新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');
       }
    }
}

嘗試使用if($user->user_exists($user->user_id))代替if($this->User->user_exists($user->user_id))

您的語句正在嘗試執行未知屬性User的方法。 用途可能未定義為Login類的屬性。 新語句正在調用User類的對象的方法。 該對象存在是因為您剛剛創建它。

試試這個模型課

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>';
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM