Я просто хочу спросить, почему мой заголовок в PHP не перенаправляется, хотя все утверждение верно и работает правильно.PHP: Заголовок не перенаправляется в заданное местоположение
index.php:
<form action="php/Api/verifyUser.php" method="post">
username: <input type="text" name="username"><br>
password: <input type="text" name="password"><br>
<input type="submit">
</form>
PHP/API/verifyUser.php:
<?php
include "../userDAO.php";
session_start();
//$content = file_get_contents("php://input");
//$json_data = json_decode($content, true);
$username = $_POST["username"];
$password = $_POST["password"];
$userDAO = new UserDAO();
$process = $userDAO->verifyUser($username, $password);
if($process["state"] == 1) {
echo "Successfully Log in!";
header("location : ../../homepage.php/");
} else {
echo "failed to Log in!";
header("location : ../../login.php");
}
?>
Примечание:
userDAO instancess работает нормально, состояние "1" если аутентификация истинна.
Предупреждение о проверкеUser.php: Символьная кодировка HTML-документа не была объявлена. Документ будет отображаться с искаженным текстом в некоторых конфигурациях браузера, если документ содержит символы вне диапазона US-ASCII. Символьная кодировка страницы должна быть объявлена в документе или в протоколе передачи.
В приведенном выше коде будет отображаться сообщение «Успешно войти в систему!». сообщение то же самое с сообщением об ошибке, если условие ложно. Но заголовок не перенаправляется на его местоположение? В чем проблема? Благодарю.
Руководители должны быть отправлены до выхода любой формы. Удалите «эхо» перед заголовком, и он будет работать. – Kaylined
'if ($ process == 1) { header (" location: ../../homepage.php/ "); } else { header ("location: ../../login.php"); } ' –
Если вы включите' display_errors' или проверьте свой журнал ошибок, вы увидите сообщение «уже отправленные заголовки». Подробнее: http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php –