2016-06-21 5 views
0

単純なPDOログインシステムのコード方法を学んでいます。私のファイルの1つ、つまりUser.phpはレンダリング後にエラーがあります。簡単なPDOログインシステムを学習する際のUser.phpファイルのエラー

これは私のコードです:ここでは

<?php 

include_once('connection.php'); 
class User{ 

private $db; 
public function _construct(){ 

$this->db = new Connection(); 
$this->db = $this->db->dbConnect(); 
} 
public function login($name,$pass){ 

if(!empty($name) && !empty($pass)){ 

    $stmt = $this->db->prepare(" SELECT * FROM users WHERE name = ? and pass = ? "); 
    $stmt -> bindParam(1,$name); 
    $stmt -> bindParam(2,$pass); 
    $stmt -> execute(); 

    if($stmt->rowCount()==1){ 
     echo "successfully login"; 
    }else{ 
     echo "incorrect username or password"; 
    } 
    } else{ 
     echo "enter correct username and password"; 
    } 

は誤りです:

Fatal error: Call to a member function prepare() on null in C:\xampp\htdocs\simplelogin\User.php on line 16

+0

[致命的なエラーの可能な複製] nullのメンバ関数prepare()を呼び出す(http://stackoverflow.com/questions/30627027/fatal-error-call-to-a-member-function-prepare-on -null) – hjpotter92

答えて

0

これは$this->dbnullで、初期化されていないことを意味します。

変更この行: public function _construct(){

へ:

public function __construct(){

あなたはconstructorに下線が表示されません。お役に立てれば。

+0

Thanks @ Osama.Pleaseパスワードをハッシュする方法を知りたいです。 – Emmanuel

+0

@Emmanuel password_hash()関数を使うことができます。http://php.net/manual/en/function.password-hash.phpパスワード '$ hashedPassword = password_hash(" rasmuslerdorf "、PASSWORD_DEFAULT);そしてあなたはハッシュ値に対してパスワードを確認するためにpassword_verify関数http://php.net/manual/en/function.password-verify.phpを使うことができます。ここの例をhttp://php.net/manual/en/function.password-verify.php#refsect1-function.password-verify-examplesにチェックしてください。この助けを願っています。 –

+0

男、私の問題は私がコードを理解していない、あなたのコードに挿入する方法が難しいと思う。 – Emmanuel

関連する問題