重複の可能性:
PHPによってすでに送信されているヘッダー
ユーザーログインスクリプトを実行した後にリダイレクトしようとすると、このエラーが発生します。
次の行でヘッダーデータを変更しようとします。
header("Refresh: 2; url=index.php");
これは完全なlogin.phpスクリプトです。
<?php
session_start();
require_once('init.php');
$username = trim($_POST['username']);
// create a new object
$login = new Auth($_POST, $dbh);
if($login->validateLogin()){
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
$list = $login->getUserInfo();
$_SESSION['id'] = $list['id'];
$_SESSION['thumb'] = $list['img_thumb'];
echo '<div class="content">';
echo '<h1>Thank you for logging in '.$username.'. Redirecting...</h1>';
echo '</div>';
header("Refresh: 2; url=index.php");
}else{
echo '<div class="content">';
echo '<h1>Sorry but we didn\'t recognise those login details, please try again.</h1>';
echo '</div>';
}
require_once('inc/footer.inc.php');
?>
init.phpファイルは、html5 doctype、metaタグなどを含むheader.phpを呼び出します。
ログイン後にユーザーをインデックスページにリダイレクトし、通常どおりヘッダー情報を送信するにはどうすればよいですか?