错误:“无法修改标头信息 - 已由......发送的标头”

时间:2012-05-28 17:17:47

标签: php mamp

我正在开发一个网站,我购买了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上)。 与数据库的连接工作正常。 Header在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之前的第一行留空了 我简直不敢相信。 ; - )

1 个答案:

答案 0 :(得分:0)

问题是在databaseconn.php中我在<?php之前的第一行留空了 您可以参考以下链接:"php-header-redirect-not-working"