我使用php和mysqli创建登录页面,但是,当我输入错误的用户名和密码时,它不能显示错误消息。If-else语句总是运行login.php中的else语句
<?php
session_start();
$error="";
//connect database
include("../task2/db_setting.php");
if($_SERVER["REQUEST_METHOD"]=="POST"){
//email and password from form
$email = mysqli_real_escape_string($conn,$_POST['email']);
$password= md5(mysqli_real_escape_string($conn,$_POST['password']));
//Retrive data from database
$sql = "SELECT * FROM user WHERE email='$email' and password = '$password'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$_SESSION["login_user"]=$row[email];
$_SESSION["id"]=$row[id];
}
}
else {
$error="Your Login name or password is invalid";
}
if(isset($_SESSION["login_user"]))
header("location:account.php");
}?>
如果我输入一个错误的用户名,其不仅无法登录,但并未出现在$错误,我试图改变它的回声,但转了,它总是会呼应了错误信息我登录之前或输入任何东西。我认为这意味着代码总是运行else语句。
任何人都知道我的代码中出了什么问题?
混合OO和功能mysqli,okaaaay。 –