質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1977閲覧

Warning: Cannot modify header information - headers already sent by (output started at /public_html/

alehalehaleh

総合スコア110

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2014/04/04 16:46

まだ勉強を始めたばかりのPHP初心者です。
ずっと書籍だけで勉強していたのですが、やっと自宅のパソコンにPHP環境を整えることができました。
なので早速インターネットで見つけたコードをコピペして試しに実行したところ、エラーが表示されてしまいました。

色々調べて自分なりにデバッグしてみたのですが、症状は改善されません。
このエラーについて分かる方がおられましたらご教示いただけるとありがたいです。
下記がそのエラーコードです。よろしくお願い致します。

■エラーコード
Warning: Cannot modify header information - headers already sent by (output started at /public_html/〜〜.php:4) 

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

全体のコードが分からないため、推測での返信となります。

Warning: Cannot modify header information - headers already sent by (output started at /public_html/〜〜.php:4)
の中の、「headers already sent」という部分は、スクリプトの途中でheader関数を実行しようとしたことでエラー表示されたのだと教えてくれています。

わかりやすく言うと、「Header関数より前には何も出力しないで」というエラーです。

1つ注意しなければいけないのは、header関数の実行は1行目で固定されている訳ではないということ。
header関数より前にHTMLタグを記述したり、echo文で出力したりといったことを避けていれば大丈夫です。
例えば文字列への変数格納や、includeしたファイルでのheader関数使用、if構文などのHTMLを出力しないPHPを利用している場合などはエラーとなりません。

出力していない場合でこのメッセージが表示されるのであれば、スクリプトファイル内に余分な空白部分がないかを確認してください。

もしくは、下記のように書いた場合も、header関数を実行するより前に改行コードが出力されるため、headers already sentというエラーが表示される原因となります。

header関数の前に空白行があるので「headers already sent」と表示される例です。
`

<?php header("Content-Type: text/html; charset=UTF-8"); 実行結果 Warning: Cannot modify header information _ headers already sent by (output started at C:… ` このエラーは次のように修正するとエラー表示されなくなります。 header関数の前にあった空白行を削除 ` <?php header("Content-Type: text/html; charset=UTF-8"); ` このデバッグでもエラー表示が直らない場合は、ファイルの文字エンコードによるエラーである可能性も考えられます。 テキストエディタによっては選択できないこともありますので、その時は選択できるテキストエディタを利用してみて下さい。 考えられそうな原因を挙げてみました。エラーが解消すると良いですね。

投稿2014/05/02 07:22

hotdoggy32

総合スコア63

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問