2016年11月10日木曜日

PHP の `headers already sent` エラー


PHP の `headers already sent` エラー

(参考)
http://ja.stackoverflow.com/questions/5453/php-%E3%81%AE-headers-already-sent-%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AF%E3%81%A9%E3%81%86%E7%9B%B4%E3%81%97%E3%81%9F%E3%82%89%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B

● header()の前に、出力文字(空白他)が含まれていてはいけない。
● 例)includeするhead.php に<head>が含まれていた場合。includeの前に header()をセットする。

--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
include 'head.php';
?>

<?php
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
?>

--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
?>

<?php
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>


--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
include 'head.php';
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
echo sha1(session_id());
?>


解決した(1)
● head.php に<head>が含まれている。includeの前に、header()をセットする。
● header()の前に、出力文字(空白他)が含まれていてはいけない。
--OK----------------
<?php
session_start();
$title ="duf20page:Contact";
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>


解決した(2)
● head.phpで既にchersetしてあるので、header("Content-type: text/html; charset=utf-8");を省いた。
--OKOK----------------
<?php
session_start();
$title ="duf20page:Contact";
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>
-----------------------


0 件のコメント:

コメントを投稿

gmailの 赤い文字の「提案」を消す

【問題】 gmail。要件はとっくに片付いているのに、いつまでも提案がでる。こんな提案は全く不要。 【消す方法】 1)[設定]の[全般]で、「アクションの提案」を探す。 2)その「返信するメールを提案」のチェックをはずす。 ついでに「フォローアップするメー...