全体のコードが分からないため、推測での返信となります。
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");
`
このデバッグでもエラー表示が直らない場合は、ファイルの文字エンコードによるエラーである可能性も考えられます。
テキストエディタによっては選択できないこともありますので、その時は選択できるテキストエディタを利用してみて下さい。
考えられそうな原因を挙げてみました。エラーが解消すると良いですね。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。