尝试使用php mysql登录

时间:2018-07-05 13:13:59

标签: php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="../admin/css/styles.css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>


<body>
   <div class="container">
        <div class="row">
            <div class="col-lg-3 col-md-2"></div>
            <div class="col-lg-6 col-md-8 login-box">
                <div class="col-lg-12 login-key">
                    <i class="fa fa-key" aria-hidden="true"></i>
                </div>
                <div class="col-lg-12 login-title">
                    ADMIN PANEL
                </div>

                <div class="col-lg-12 login-form">
                    <div class="col-lg-12 login-form">
                        <form action="" method="POST">
                            <div class="form-group">
                                <label class="form-control-label">USERNAME</label>
                                <input type="text" name="username" class="form-control">
                            </div>
                            <div class="form-group">
                                <label class="form-control-label">PASSWORD</label>
                                <input type="password" name="password" class="form-control" i>
                            </div>

                            <div class="col-lg-12 loginbttm">
                                <div class="col-lg-6 login-btm login-text">
                                    <!-- Error Message -->
                                </div>
                                <div class="col-lg-6 login-btm login-button">
                                    <input type="submit" name="submit" class="btn btn-outline-primary">
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
                <div class="col-lg-3 col-md-2"></div>
            </div>
        </div>

  </body>
</html>


<?php

include 'db.php';



if(isset($_POST['submit'])){
    $username=$_POST['username'];
    $password=$_POST['password'];
$db=mysqli_select_db($conn,"admin");    
 echo   $sql= "SELECT * FROM admin WHERE username='$username' AND password='$password'";
    
       $result=mysqli_query($conn,$sql);
       $rows=mysqli_num_rows($result);
       
       if($rows == 1){
        echo 'hi';
       }
       else{
        echo 'failed';
       }
}
?>
我创建了数据库,并插入了用户名和密码。数据库连接成功。这是我为登录页面编写的代码。我正在输入用户名和密码。我回显查询,它显示用户名和密码,但不回显“ hi”。它的回声失败了。错误在哪里。预先感谢。

3 个答案:

答案 0 :(得分:2)

这是因为您正在echo实际未运行查询。

删除此

  

echo $ sql =“ SELECT * FROM admin WHERE username ='$ username'AND password ='$ password'”;

添加此

  

$ sql =“ SELECT * FROM admin WHERE username ='$ username'AND password ='$ password'”;

点对点以改善查询,

  • 从不SELECT *,这是一个坏习惯,请提及列名
  • 使用PDO甚至更好的PDO库(IMO)

答案 1 :(得分:1)

  1. 删除echo前面的$sql
  2. 检查是否在数据库管理字段中编写了正确的$username$password
  3. 回显$rows变量。检查它是否不同于1。
  4. 与您的问题无关,但很容易解决;将您的PHP代码移至代码中所有内容之上。

答案 2 :(得分:0)

也许您在数据库中有两对相等的用户名和密码,否则返回2而不是1。 echo $rows进行检查。