首页 > 解决方案 > 如何在 php 中从 MySQL 进行登录验证?

问题描述

陈述

我想做一个简单的登录验证,条件是用户名和密码与 MySQL 服务器中名为的表匹配admin

到目前为止我尝试过的

从下面的代码中,有未定义的索引login_check.php

$uname = mysqli_real_escape_string($conn,$_POST['username'] );

$pass = mysqli_real_escape_string($conn,$_POST['password'] );

login.php (front.php = 主页)

<form method="post" action="login_check.php">
        <input type="text" name="username" placeholder="Username" required>
        <span class="error"><?php echo $uname_error; ?></span>
        <input type="password" name="password" placeholder="Password" required>
        <span class="error"><?php echo $pass_error; ?></span>
        <button type="submit" name="Log In" value="Log In">Log In</button> <!--Go to front.php if both username and password are correct.-->
</form>

login_check.php

<?php

    //Establish connection
    include 'connection.php';

    $uname_error = $pass_error ="";

    $uname = mysqli_real_escape_string($conn,$_POST['username'] );
    $pass = mysqli_real_escape_string($conn,$_POST['password'] );
    $sql = "SELECT admin_username,admin_password FROM admins";

    if(isset($_POST['Log In']))
    {
         //Check Username
         if($uname == "username")
         {
                   //Check Password
                   if($pass == "password")
                   {
                   header("location:front.php"); //If username & password are correct -> log in to front.php.
                   }
                   else //$pass != "password"
                   {
                       $pass_error = "Invalid Password.";
                   }
         }
         else //$uname != "username"
         {
              $uname_error = "Invalid Username.";
         }
    }
    mysqli_close($conn);
?>

编辑1:login.php已修复。

标签: phpmysql

解决方案


您的表单的操作是front.php,验证代码位于log_check.php.

验证代码不会执行,因为提交后,表单将重定向到front.php.

您可以(重定向)设置表单的操作login_check.php,验证将适用。

此外,重定向将顺利进行。

所以,总结2个变化:

1) 删除/评论<?php require 'login_check.php'; ?>

2) 更改表单动作从

<form method="post" action="front.php">

<form method="post" action="login_check.php">


推荐阅读