こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

cookieの保存が上手くいきません

PHPはじめたばかりの初心者です。
PHPの勉強の過程で以下のコードを作成しました。

[cookie.php]
6: <form method="POST" action="cookie_rcv.php">
7: 文字列:
8: <input type="text" name="test" size="30" maxlength="50" value="<?php print($_COOKIE['test']); ?>" />
9: <input type="submit" value="送信" />
10:</form>

[cookie_rcv.php]
6: <?php setcookie("test", $_POST['test'], time()+(60*60*24*90)); ?>

ブラウザで表示すると

Warning: Cannot modify header information - headers already sent by (output started at /var/www/cookie_rcv.php:6) in /var/www/day02-3/cookie_rcv.php on line 6

とエラーが出てしまいます。
UTF-8で書いていたので、BOMが原因かと思い、EUC-JPに文字コードを変更してみたのですが解決しません。
もしかしたらものすごい初歩的なミスなのかもしれないのですが、何卒ご教示ください。

投稿日時 - 2009-02-18 21:10:17

QNo.4729145

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

[cookie_rcv.php]の所で、6: と書いてあるということは、6行目に書いてるんですよね?1-5行目で地のHTMLが書いてある、あるいはPHPでの出力があればsetcookieできません。

setcookieはヘッダを変更するので、HTML本体出力前に実行する必要があります。

投稿日時 - 2009-02-18 21:29:07

お礼

早速のご回答ありがとうございます!!
自分はHTMLは書けるので、同じかと思い普通に
<HTML>
<HEAD>
<TITLE>



と書いていました。。。参考にしていた書籍にもそう書いてあったので^^;
冒頭から
<?php ......
としたらできました。ありがとうございました。

投稿日時 - 2009-02-18 22:18:59

あなたにオススメの質問