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