2016-11-24 48 views
0

我的註冊頁面使用BCRYPT並將密碼完全散列到數據庫中,但是我正在努力驗證登錄頁面中的密碼。試圖使用BCRYPT

下面是我的代碼和我的運行時,它驗證密碼,然而嘗試我遇到的HTTP錯誤,因爲它是讓我頭疼,現在想解決500

$sql="SELECT * FROM Users WHERE Username='$username'"; 

if (!$result=mysqli_query($con,$sql)) 

{ 
    die('Error: ' . mysqli_error($con)); 
} 
else 
{ 
    $count=mysqli_num_rows($result); 
} 

if($count==1) 
{ 
    $hash = .$row['Password']; 
    if (password_verify($passfromform, $hash)) 
    { 
     echo 'Password is valid!'; 
    } 
    else 
    { 
     echo 'Invalid password.'; 
    } 
} 

else 
{ 
    header("location:User Login.html"); 
} 

任何幫助將真正理解我愚蠢的錯誤。謝謝

+0

這是假設做什麼'$ hash =。$ row ['Password'];'? – PeeHaa

+0

不是線索,即時嘗試將我的數據庫中的「密碼」行存儲到變量中 –

+0

如果您沒有線索,我們可以如何幫助您? – PeeHaa

回答

0

這裏的問題是$row變量不是在任何地方創建的,而是您正試圖從中讀取。

看起來你忘了$row = mysqli_fetch_assoc($result)$hash = .$row['Password'];之前的某處。並將$hash = .$row['Password'];更改爲$hash = $row['Password'];