ウェブサイトを開発していて、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
信じられない前に最初の行を空白のままにしていたことです。;-)