我已经浏览了大约一百次,但找不到页面不会重定向的原因。我找不到任何可能缺少的空格或任何输出。谁能发现问题?
这是我的代码:
<?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";
}
}
}