2017-08-11 3 views
0

Im Versuch, ein Login-System für meine Website zu erstellen, kann ich ein Passwort Hash und die Hashed-Daten in die Datenbank einfügen, aber das Abrufen ist ein wenig anders.Password_Verify Wird kein Wert zurückgegeben

Ich suche auf der vorherigen Seite nach dem (Hashed Password) für den gegebenen Benutzernamen auf der vorherigen Seite sowie nach dem angegebenen Passwort auf der vorherigen Seite. Dann bekomme ich meinen Code, um zu sehen, ob die beiden Passwörter übereinstimmen, aber ich bekomme keinen Rückgabewert. Und ja, ich stimme es und Vorschläge?

<?php 
session_start(); 

include 'dbh.php'; 

$Username = $_POST['Username']; 
$Password = $_POST['Password']; 

$sql = "SELECT * FROM account WHERE Username='$Username'"; 
$result = $conn->query($sql); 
while ($row = $result->fetch_assoc()) { 
    $UsernameActualhashedPassword = $row['Password']; 
} 

$input = $Password; 

echo $input; 
echo $UsernameActualhashedPassword; 
echo password_verify($input, $UsernameActualhashedPassword); 
+0

was ist der Wert von num_rows in $ result? – flamelite

Antwort

0

versuchen diese und suchen nach Sanitizing user for secure login

<?php 
session_start(); 

include 'dbh.php'; 

$Username = $_POST['Username']; 
$Password = $_POST['Password']; 
$hashpass = hash_fun($password); // use the same hash function which you have used in the signup 
$sql = "SELECT count(*) FROM account WHERE Username='$Username' and 
password='$hashpass'"; 
$result = $conn->query($sql); 
if($result>0) 
    echo "Login success"; 
else echo "wrong username or password"; 
?> 
+0

Ich habe mich angeschaut, weil ich das Passwort gehashed habe, wenn der Benutzer sich angemeldet hat, funktioniert das nicht. Hast du eine andere Idee? – JoshuaMicallef

+0

Sorry, ich habe vergessen, diese Hash-Funktion zu erwähnen, ich habe das gleiche jetzt geändert, das in Ihrem Fall funktioniert. – flamelite

Verwandte Themen