我在Login.php页面中输入了正确的电子邮件id和密码,但显示错误


I am Entering Correct Email id and Password in my Login.php page, But Shows Error

我只得到其他部分的输出,用户没有登录。我首先连接到数据库,然后从表名register_tbl中获取数组以验证特定用户。

<?php
error_reporting(0);
require("connect_db.php"); //connecting to database
    if(isset($_POST['submit']))
    {
        $emailid = mysql_escape_string($_POST['emailid']);
        $password = mysql_escape_string($_POST['password']);

        $sql = "SELECT * FROM register_tbl WHERE emailid = '$emailid' AND password='$password'";
        $result = mysql_query($sql);
        $row = mysql_fetch_array($result);

        if($row["emailid"]== $emailid && $row["password"]== $password)
        {    
            echo"You are a validated user. and successfully loged in";
        }
        else
        {
            echo"Sorry, your credentials are not valid, Please try again.";
        }//this else part is displayed
    }

?>
//html form to login 
<html>
<body>
<h1>Login Form</h1>
<form action ="login.php" method ="POST">
Email Id: <input type = "text" name="emailid" /></br>
Password: <input type ="password" name ="password" /></br>
<input type="submit" name="submit" value="submit" />
</form>
<body>
</html>

首先,您不应该在新代码中使用mysql_*函数。为什么不呢?阅读这里:为什么我不应该在PHP中使用mysql_*函数?

另一方面,请检查您的密码是否在数据库中进行了哈希处理。如果是,它将永远不会与输入的匹配。您需要在输入的密码上使用相同的哈希,然后将两者进行比较。

可能是我没有看到的其他东西。