我只得到其他部分的输出,用户没有登录。我首先连接到数据库,然后从表名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_*函数?
另一方面,请检查您的密码是否在数据库中进行了哈希处理。如果是,它将永远不会与输入的匹配。您需要在输入的密码上使用相同的哈希,然后将两者进行比较。
可能是我没有看到的其他东西。