2017-08-11 16 views
0

私のウェブサイトのログインシステムを作成しようとしていますが、パスワードをハッシュしてハッシュされたデータをデータベースに挿入できますが、取得は少し異なります。Password_Verifyは値を返すことはありません

私は、前のページの与えられたパスワードと前のページの指定されたパスワードの指定ユーザー名のハッシュされたパスワードを検索します。しかし、2つのパスワードが一致しているかどうかを確認するためにコードを取得すると、私は値の戻り値を取得しません。はい、私はそれをエコーし​​ています、そして提案?

<?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

を探しますか – flamelite

答えて

0

$結果でNUM_ROWSの値は何ですか?これを試して、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

ユーザーがサインアップしたときにパスワードをハッシュしたので、私は見たことがありません。他のアイデアは? – JoshuaMicallef

+0

申し訳ありませんが、ハッシュ関数について言及するのを忘れてしまいました。あなたのケースで動作するように変更しました。 – flamelite

関連する問題