这是我的代码
$username = $_POST['user'];
$password = $_POST['pass'];
if (isset($_POST['user'])); {
$db = mysqli_connect('localhost', 'root', '', 'db');
if($query = mysqli_query($db, "SELECT `pass` FROM `accounts` WHERE `user` = '$username'")){
while($row = mysqli_fetch_assoc($query)){
$row['pass'] = $setpassword;
}
mysqli_free_result($query);
}
}
它当前所做的是从表单中检索用户输入的用户名和密码,获取该用户名并找到具有该用户名的行并从该行获取密码并将其设置为变量 $setpassword。下面是检查密码是否与数据库中给定用户名匹配的代码。
if ($password=='') {
$verify = 0;
}
if ($password!='') {
if ($password!=$setpassword) {
$verify = 1;
}
if ($password==$setpassword) {
$verify = 2;
}
}
如果验证是... 0 - 登录表单将显示为未输入任何内容。1 - 错误密码将与登录表格一起显示。2 - 将显示正确的密码,并将用户名分配给会话变量。
我遇到了一个问题,用户可以输入一个不存在的用户名和任何密码,无论它是否在数据库中,都会被验证。
我该怎么做才能检查数据库中是否不存在用户名?