0
我正在開發一個網站,我購買了MAMP PRO。當我嘗試通過login_user.php登錄時:錯誤:「無法修改標題信息 - 標頭已經發送....」
if (empty($_POST)===false){
$username = $_POST['username'];
$password = $_POST['password'];
if (empty($username) === true || empty ($password) === true){
$errors[] = 'You need to enter a username and password';
} else if (user_exists($username) === false){
$errors[] = 'we can\'t find that username. have you registered?';
}else if (user_active($username) === false){
$errors[] = 'you haven\'t activated your account!';
}else {
$login = login($username, $password);
if ($login === false){
$errors[] = 'username/password combination is incorrect!';
}else {
//set user session
$_SESSION['user_id'] = $login;
//redirect user to home
header('Location: home.php');
exit();
}
}
print_r($errors);
}
?>
用戶應該被重定向到home.php。
它用來在我之前使用的服務器上完美工作,但現在當我在本地機器上測試它時,我只得到一個白頁(它基本保留在login_user.php上)。 與數據庫的連接正常工作。標題是否在MAMP上正常工作?我可以設置會話並在logout.php中將其銷燬,但兩個文件在設置或銷燬會話後都不會重定向。任何線索?
更新:我得到這個錯誤:
Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/mywebsite/core/database/databaseconn.php:2) in /Applications/MAMP/htdocs/mywebsite/login_user.php on line 26
固定它! 問題是在databaseconn.php中我留空了<?php
之前的第一行
我簡直不敢相信。 ;-)
空(...)返回一個布爾值,所以'=不需要== true' –
空白頁面表示導致腳本死亡的分析錯誤,並且錯誤顯示處於關閉狀態。檢查服務器和PHP的錯誤日誌,看看是否顯示任何內容,和/或打開錯誤顯示。在header()調用之前可能還會有一些輸出,這會觸發「headers already sent」警告,這些警告也可能會被抑制。 –
謝謝....這是錯誤:警告:無法修改頭文件信息 - 在/ Applications/MAMP中已經發送的頭文件(輸出開始於/Applications/MAMP/htdocs/mywebsite/core/database/databaseconn.php:2) /htdocs/mywebsite/login_user.php on line 26 – mat