2012-05-28 98 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

回答

相关问题