PHPエラー:Warning: Cannot modify header information

2009年10月14日 | web | 2 Comments to Read

フォームの2重投稿を防ぐために、cookieで制御してみる。
⇒元々のシステムは他の人が構築したので、
私はHTML部分のカスタマイズとアップ作業のみを行なう。

すると、、
Warning: Cannot modify header information – headers already sent by…
というエラーが!!
でも、スクリプトは間違っていないはず。(私が作成していないから!)

調べた結果、正しい文字コードで保存されていないことが原因でした。
文字コードは「UTF-8」。BOMがはきだされてはダメらしい。

<PHPマニュアルより>
setcookie() は、その他のヘッダ情報と共に 送信するクッキーを定義します。 ほかのヘッダ情報と同様に、 クッキーは、スクリプトによる他のあらゆる出力よりも前に 送信される必要があります(これはHTTPプロトコルの制約です)。 <html><head>タグはもちろん 空白も含め、あらゆる出力よりも前にこの関数をコールするようにしなければなりません。(以下略)
PHPマニュアル setcookie()

BOMがはきだされる⇒先頭に余分なものが入ってしまうらしい。

<結論>
UTF-8nで保存する

参考記事
http://oubakiou.blog8.fc2.com/blog-entry-69.html

トラックバックURL:http://r77.jp/blog/2009/10/1022/trackback/

コメント

  • 2009年10月15日 @ 3:48 PM
    hatch さんからのコメント

    はじめまして。
    いつも楽しく読ませてもらっています。

    スクリプトは間違っていないはず。
    (私が作成していないから!)

    っていうのがおもしろかったです。

    自分もデザイナーですが、PHPはさっぱりわかりませんです、はい。

  • 2009年11月20日 @ 8:34 PM
    reikow さんからのコメント

    こんにちは!しばらく更新が止まってしまいました。
    PHPは、見よう見まねでチョコチョコ変更するだけで精一杯です。

    ところで、ミスチルツアー行ったんですね!私も行きました。
    DVDも買いました。ドームツアーも行きます。エソラいいですよねー。