Я просмотрел это примерно сто раз и не могу найти причину, по которой страница не будет перенаправлена. Я не могу найти никаких пробелов или каких-либо результатов, которые могут отсутствовать. Может ли кто-нибудь обнаружить проблему?Почему моя страница не перенаправляется после входа?
Вот мой код:
<?php
include_once('includes/sessions.php');
include_once('connections/localhost.php');
include_once('includes/functions.php');
include_once('includes/validations.php');
?>
<?php
$username = "";
if (isset($_POST['submit'])) {
$required_fields = array("username", "password");
validate_there($required_fields);
if (empty($errors)) {
$username = $_POST["username"];
$password = $_POST["password"];
$found_user = attempt_login($username, $password);
if ($found_user) {
$_SESSION["user_id"] = $found_user["user_id"];
$_SESSION["username"] = $found_user["username"];
redirect_to("index.php");
} else {
$_SESSION["message"] = "Username/password not found.";
}
}
} else {
}
?>
Вот функция перенаправления:
function redirect_to($new_location) {
header("Location: " . $new_location);
exit;
}
Вот функции проверки:
$errors = array();
function fieldname_is_text($fieldname) {
$fieldname = str_replace("_", " ", $fieldname);
$fieldname = ucfirst($fieldname);
return $fieldname;
}
function has_presence($value) {
return isset($value) && $value !== "";
}
function validate_there($required_fields) {
global $errors;
foreach($required_fields as $field) {
$value = trim($_POST[$field]);
if (!has_presence($value)) {
$errors[$field] = fieldname_is_text($field) . " can't be blank";
}
}
}
какая ошибка вы получаете? –
Не то, чтобы это имело значение, но почему вы закрываете, а затем снова открываете свои приложения для PHP? (то есть '?> php'). Кроме того, URL-адрес вашей страницы входа совпадает с URL-адресом вашей страницы переадресации? – hargobind
напишите свой код для '$ found_user' и' validate_there' –