2016-06-21 3 views
0

Bitte, ich lerne, wie man ein einfaches PDO-Login-System programmiert. Eine meiner Dateien, das ist User.php, hat nach dem Rendern einen Fehler.Fehler in meiner User.php-Datei beim Lernen des einfachen PDO-Login-Systems

Dies ist mein Code:

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

+0

Mögliches Duplikat von [Schwerwiegender Fehler Aufruf an eine Elementfunktion prepare() auf null] (http://stackoverflow.com/questions/30627027/fatal-error-call-to-a-member-function-prepare-on -null) – hjpotter92

Antwort

0

initialisiert Das bedeutet $this->db ist null und wurde nicht:

<?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"; 
    } 

Hier ist der Fehler.

Ändern Sie diese Zeile: public function _construct(){

An:

public function __construct(){

Sie einen Unterstrich in der constructor fehlt. Hoffe das hilft.

+0

Danke @ Osama.Bitte werde gerne wissen, wie man das Passwort – Emmanuel

+0

@Emmanuel hash Sie können die Funktion password_hash() http://php.net/manual/en/function.password-hash.php verwenden, um Ihre Hash password '$ hashedPassword = password_hash (" rasmusserdorf ", PASSWORD_DEFAULT);' und Sie können die Funktion password_verify http://php.net/manual/en/function.password-verify.php verwenden, um das Passwort auf seinen Hashwert zu überprüfen. Überprüfen Sie dieses Beispiel hier http://php.net/manual/en/function.password-verify.php#refsect1-function.password-verify-examples. Ich hoffe das hilft. –

+0

Mann, mein Problem, ich verstehe den Code nicht.Außerdem finde ich es schwierig, es in meinen Code einzufügen. – Emmanuel