我有4个条件。
- 如果未填写任何内容,则转到某个页面。 <--- 工作正常
- 如果用户名或密码错误,请转到页面。 <--- 工作正常
- 如果用户名未激活,请转至页面。 <--- 工作正常
- 如果数据库中不存在用户名,则转到页面。 <--- 不工作:(
但是我遇到了第四个条件的问题:它没有转到所需的页面,/account/no/
。
我做错了什么?这是第四个条件的相关代码:
//////////////////////////////////////////////////////////
# 4th condition IF USER NOT EXIST, then go to /ACCOUNT/NO
$query = "SELECT * FROM users WHERE username='$username'";
$result = mysqli_query($mysqli,$query)or die(mysqli_error());
$num_row = mysqli_num_rows($result);
$row=mysqli_fetch_array($result);
if( $num_row ==1 )
{
if ($_POST['username']!=$row['username'])
{
header('Location: /account/no/');
exit;
}
}
HTML 登录表单:
<form action="/login/" action="post">
<input name="username" type="text">
<input name ="password" type="password">
<input name="submit" type="submit">
</form>
最佳答案
您的问题是,如果用户名不存在,$num_row 不等于 1。代码应如下所示:
if($num_row ==1)
{
//do action
} else if($num_row ==0){
header('Location: /account/no/');
exit;
}
关于php - 如果数据库中不存在用户,则显示一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30657274/