약 100 번 훑어보고 페이지가 리디렉션되지 않는 이유를 찾을 수 없습니다. 공백이나 누락 된 출력을 찾을 수 없습니다. 누구든지 문제를 발견 할 수 있습니까? 여기로그인 후 내 페이지가 리디렉션되지 않는 이유는 무엇입니까?
function redirect_to($new_location) {
header("Location: " . $new_location);
exit;
}
유효성 검사 기능은 다음과 같습니다 : 여기
<?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 {
}
?>
가 방향 전환하는 기능입니다 : 여기
내 코드입니다
$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'에 대한 코드를 게시하십시오. –