我有一個登錄頁面,我使用php創建的,我有一個問題讓我把它帶到管理頁面後,我已經正確登錄。我知道我使用的登錄名是正確的,因爲我剛創建它,如果它是錯的,它應該告訴我。但是,一旦我登錄,整個頁面就會變成空白,網址說我仍然在登錄頁面而不是管理頁面。無法獲取登錄頁面重定向到安全頁面
我檢查了錯誤日誌,它說「PHP警告:不能修改標題信息 - 已在第4行/admin/includes/functions.php中通過(輸出開始於/admin/login.php:6)發送的標頭「
這是錯誤日誌指的是代碼:
function redirect_to($new_location) {
header("Location: " . $new_location);
exit;
}
我不明白什麼是錯誤指出。在我學習如何創建登錄頁面和管理頁面之前,我已經使用了這個確切的代碼,並且當我在我的計算機上使用WAMP進行測試時,我沒有任何問題。現在,我已經把它放在我的網站的服務器上,這個錯誤即將出現。我不確定從何處開始進行故障排除,因爲如果我取出該功能,那麼它根本不會重定向。任何幫助將超級讚賞!
這裏是我使用的登錄頁面的主代碼,如果這能幫助:
<?php require_once("includes/session.php"); ?>
<?php require_once("includes/db_connection.php"); ?>
<?php require_once("includes/functions.php"); ?>
<?php require_once("includes/validation_functions.php"); ?>
<?php
$username = "";
if (isset($_POST['submit'])) {
// Process the form
// validations
$required_fields = array("username", "password");
validate_presences($required_fields);
if (empty($errors)) {
// Attempt Login
$username = $_POST["username"];
$password = $_POST["password"];
$found_admin = attempt_login($username, $password);
if ($found_admin) {
// Success
// Mark user as logged in
$_SESSION["admin_id"] = $found_admin["id"];
$_SESSION["username"] = $found_admin["username"];
redirect_to("http://thehummingbirdplace.com/admin/admin.php");
} else {
// Failure
$_SESSION["message"] = "Username/password not found.";
}
}
} else {
// This is probably a GET request
} // end: if (isset($_POST['submit']))
?>
<?php $layout_contect = "admin"; ?>
<?php include("includes/layouts/header.php"); ?>
<div id="main">
<div id="navigation">
</div>
<div id="page">
<?php echo message(); ?>
<?php echo form_errors($errors); ?>
<h2>Login</h2>
<form action="login.php" method="post">
<p>Username:
<input type="text" name="username" value="<?php echo htmlentities($username); ?>" />
</p>
<p>Password:
<input type="password" name="password" value="" />
</p>
<input type="submit" name="submit" value="Submit" />
</form>
</div>
</div>
<?php include("includes/layouts/footer.php"); ?>
你可以附加functions.php嗎?在第一次猜測時會出現一些信息 –
您可以通過在頁面頂部添加以下內容進行調試error_reporting(E_ALL); ini_set('display_errors','1'); 這將顯示您有任何錯誤。 –
感謝提示@Abhik Chakraborty! – coolpup