【PHP】【トラブルシューティング】「header("Location:XXX")」でページ遷移できない

ポイント

headerは、何かを出力する前に実行する必要がある。そのため、以下の点に気をつけること。

 [1] echoやHTMLタグなどを、「header("Location:XXX")」前に出力する(<?phpより前に、文字(例え、改行でも)が出力することもNG)
 [2]「header("Location:XXX")」実行前に、ファイルのダウンロードすることはできない。以下のURLを参照して下さい。
http://blogs.yahoo.co.jp/dk521123/25095387.html

[2]の解決策

 * ページの移動をしてから、そこにjavascriptなどでダウンロードする
ような処理を行う
http://qanda.rakuten.ne.jp/qa5198555.html?order=DESC&by=datetime

サンプル

<html>
<head>
<script>
function downloadFile()
{
  window.open("./fileName1");
}
</script>
</head>
<body onload="downloadFiles()">
<p>ダウンロードページ</p>

自動的にダウンロードが始まらない場合は
<a href="" onclick="javascript:downloadFile();return false;">こちら</a>をクリックしてください。
</body>
<body>

参考資料

http://libro99.appspot.com/index3?id=385002&page=2&label=php