php header()関数 記述位置

php
スポンサーリンク

 

PHPにおけるheader()関数とは、生の HTTP ヘッダを送信するために使用されるものである。

今回ワシは、他のサイトからのiframeやframeアクセスを拒否すべく

header(‘X-Frame-Options: SAMEORIGIN’);

というコードを該当ページのphpファイルに追記しようとしている。

しかし、header()の記述位置はどこじゃ?上の方となんとなく思うが。

 

header()関数は、一番上に記述する

PHP: header - Manual

header() 関数は、 通常の HTML タグまたは PHP からの出力にかかわらず、すべての実際の 出力の前にコールする必要があることです。

PHPよりも、HTMLよりも先に書かねばならぬ。

includeとかする場合も要注意じゃな。

 

ダメな例

<html>
<?php
/* これはエラーとなります。この上に出力があることに注目してください。
 * それはheader()のコールより前であるということになります */
header('Location: http://www.example.com/');
exit;
?>

良い例

 

<?php
header("Location: http://www.example.com/"); /* ブラウザをリダイレクトします */


?>

 

コメント