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

标签 php html mysql

我有4个条件。

  1. 如果未填写任何内容,则转到某个页面。 <--- 工作正常
  2. 如果用户名或密码错误,请转到页面。 <--- 工作正常
  3. 如果用户名未激活,请转至页面。 <--- 工作正常
  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/

相关文章:

mysql - Rails 发现没有返回数据库中存在的记录

mysql - 如何使用mysql-connector-java连接jmeter和数据库?

mysql - 第 2 行 SQL 语法错误

php - ActiveRecord 类的适当模式

php - 用户 ID 必须是整数吗?

PHP SoapClient 生成不同格式的 SOAP 请求

html - Live Audio Streaming 到浏览器的方法,一定很简单

html - 如何将细节标记居中?

php - 注册表单在 Chrome 和移动设备上无法使用

html - CSS:宽度百分比和边框