我使用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。 –