2012-05-28 137 views
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之前的第一行
我簡直不敢相信。 ;-)

+0

空(...)返回一個布爾值,所以'=不需要== true' –

+1

空白頁面表示導致腳本死亡的分析錯誤,並且錯誤顯示處於關閉狀態。檢查服務器和PHP的錯誤日誌,看看是否顯示任何內容,和/或打開錯誤顯示。在header()調用之前可能還會有一些輸出,這會觸發「headers already sent」警告,這些警告也可能會被抑制。 –

+0

謝謝....這是錯誤:警告:無法修改頭文件信息 - 在/ Applications/MAMP中已經發送的頭文件(輸出開始於/Applications/MAMP/htdocs/mywebsite/core/database/databaseconn.php:2) /htdocs/mywebsite/login_user.php on line 26 – mat

回答

相關問題