2 回答

TA貢獻1934條經驗 獲得超2個贊
經過上述評論的建議后,我得出了這個有效的結論。
<?php
if(isset($_POST['login'])){
$user = mysqli_real_escape_string($conn,$_POST['email']);
$pass = mysqli_real_escape_string($conn,$_POST['password']); //input entered
$query = mysqli_query($conn, "SELECT * FROM users WHERE `email` = '$user'");
$numrows = mysqli_num_rows($query);
if($numrows !=0)
{
while($row = mysqli_fetch_assoc($query))
{
$dbemail=$row['email'];
$dbpassword=$row['password'];
}
if(password_verify($pass, $dbpassword))
{
session_start();
$_SESSION['email'] = $username;
//Redirect Browser
}
}
else
{
echo "<div class='alert alert-danger alert-dismissible'>
<a href='#' class='close' data-dismiss='alert' aria-label='close'>×</a>
<strong>Warning!</strong> Invalid credentials.
</div>";
}
}?>

TA貢獻1946條經驗 獲得超3個贊
不確定,但你嘗試過嗎
password_verify(mysqli_real_escape_string($_POST['password']), $dbpassword)
我的意思是比較未加密的密碼與哈希值。在 Laravel 中
Hash::check()
還需要非哈希密碼作為參數。
- 2 回答
- 0 關注
- 196 瀏覽
添加回答
舉報