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 件のコメント:

コメントを投稿

BloomというAI

オープンソースのAI「BLOOM」が出ました。 日本語も使えるというので、早速サンプルページで遊びました。 白い文字が私。ピンクの文字がAI。 ↑AIとやりとり できたのが、これ。AIとの合作超短編童話😆 『 傘をさして公園を歩いていたら、小さなリスが足...