如果数据库中不存在用户,则显示消息

时间:2015-06-05 02:12:11

标签: php html mysql

我有4个条件。

  1. 如果没有填写,请转到页面。 < ---工作正常
  2. 如果用户名或密码错误,请转到页面。 < ---工作正常
  3. 如果未激活用户名,请转到页面。 < ---工作正常
  4. 如果数据库中不存在用户名,请转到页面。 < ---不工作:(
  5. 但我遇到了第四个问题:它没有进入所需的页面,/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>
    

1 个答案:

答案 0 :(得分:0)

您的问题是,如果用户名不存在,$ num_row不等于1。代码应如下所示:

if($num_row ==1)

{

//do action

 } else if($num_row ==0){
header('Location: /account/no/');
 exit;
}