我这里有一些代码在我输入它时返回“用户名不正确”,当它应该输出“密码不正确”时,因为我只是输入了正确的用户名,但密码不正确。
if ($_POST['login']) {
$username = strip_tags($_POST['username']);
$password = strip_tags($_POST['password']);
$fetchme = $dbc->query('SELECT * FROM users WHERE username="$username"');
while($row = $fetchme->fetch(PDO::FETCH_ASSOC)) {
$lastlogin = $row['lastlogin'];
}
if (!$username||!$password) {
echo '<center>Please enter a valid username and password</center>';
}else{
$login = $dbc->query('SELECT * FROM users WHERE username="$username"');
$num_rows_login = ($login->fetchColumn() > 0) ? true : false;
if ($num_rows_login == 0) {
echo "<center>Username doesn't exist</center>";
}else{
while($login_row = $login->fetch(PDO::FETCH_ASSOC)) {
$password_db = $login_row['password'];
$password_db2 = hash('sha512', $password);
if ($password_db2 != $password_db) {
echo '<center>Incorrect password</center>';
}
}
}
}
}
这是我第一次使用 PDO。任何帮助表示赞赏!