PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

headers already sent」という警告メッセージは、スクリプトの途中でheader関数を実行したときなどに表示されます。つまり、header関数より前では何も出力しないようにということです。

ただし、「header関数は1行目で実行しましょう」ということではないので、注意してください。header関数より前でecho文で何かを出力したり、HTMLタグを記述しないようにということです。

何も出力していないのにこのメッセージが表示されるときは、スクリプトファイルの先頭に無駄な空白行がないか調べましょう。また、次のように記述しても、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:…

次のように修正すると、Warning(警告)は表示されなくなります。

<?php
header("Content-Type: text/html; charset=UTF-8");

それも身に覚えがないという方。ファイルの文字コードをBOM付きのUTF-8で保存した場合、このメッセージが表示されます。保存するときに「BOMなし」の設定で保存してください。

よくあるPHPのエラーやミスは、こちらの本で紹介しています。参考にしてください。


PHP「直す力」養成ドリル

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP全般

PHP関数

WordPress

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク