所以我不能解決PHP導致這個問題的最新錯誤。正如你從代碼中看到的那樣,我使用if語句來回顯。如果細節與查詢相同,那麼它將回顯Test2。但爲什麼不重定向?我無法弄清楚什麼是錯的。PHP不會重定向
<?php
include "../inc/db.php";
include "../inc/functions.php";
$tip = "";
if(isset($_POST["submit"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$username = mysqli_real_escape_string($connection, $username);
$password = mysqli_real_escape_string($connection, $password);
$query = "SELECT * FROM users WHERE username = '{$username}' ";
$select_user_query = mysqli_query($connection, $query);
if(!$select_user_query) {
die("Query failed. Reason: " . mysqli_error($connection));
}
while($row = mysqli_fetch_array($select_user_query)) {
$db_user_id = $row['id'];
$db_username = $row['username'];
$db_password = $row['password'];
}
if($username !== $db_username && $password !== $db_password) {
header("Location index.php");
$tip = "Incorrect details!";
echo "Test1";
} elseif ($username == $db_username && $password == $db_password) {
header("Location ");
echo "Test2";
} else {
header("Location index.php");
echo "Test3";
}
}
?>
,如果我進入這並不在MySQL數據庫中存在,那麼我得到這樣的:
但我在while循環中定義了變量
試圖加入'出口();'重定向後。另外,如果你離開頁面,爲什麼你會在重定向後迴應一些東西?還有其他的東西,你的第一個if應該是*或*'||'而不是*和*'&&' – eeetee
對於第三個圖像(第二個問題?),這是因爲當沒有結果時,沒有行要迭代這樣就不會聲明$ db_username和$ db_password。 –
您在'header'上的'location'之後缺少冒號。你應該哈希你的密碼。 – chris85