- ベストアンサー
クッキーがよくわかりません
クッキーの利用の仕方が不明です。 ↓以下のようなプログラムを↓をコピペしてきたのですが、よくわかりません…$data=$_COOKIE["data"];の部分でエラー発生します。 どういうことでしょうか? http://w1.nirai.ne.jp/freeze/main/files/10_01_cookie.html <?php //クッキーは<html>よりも先に記述する $data=$_COOKIE["data"]; //まずクッキーを読み出す if(!isset($data)){ //何もデータが無ければ $data = $_POST['data']; //postで受け取ったデータを }else{ //クッキーデータがあれば $data = $data."<br>".$_POST['data']; //前のデータに新しいデータをくっつける } setcookie("data", $data, time()+60*10); //そしてそのデータを60秒×10つまり10分間記憶する ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>クッキーで、すぐ消える一行メモ</title> </head> <body> クッキーで、すぐ消える一行メモ<br> 文章を入力して表示クリックを、何度か繰り返してください。10分で消えます。<br> <form action="10_01_cookie.php" method="post"> <input type="text" name="data" size="50"> <input type="submit" value="表示!"> </form> <!--ここからPHPが始まります。--> <?php echo $data; //入力された文を改行をはさんで記憶しているので、それを記述する ?> <!--これでPHPは終わりです。--> </body> </html>
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
<!-- で始まる行を全部消してみてはどうでしょうか?
その他の回答 (3)
- yossy-55
- ベストアンサー率55% (5/9)
Warning: Cannot modify header information - headers already sent by... クッキーを利用する時の基本中の基本ですが、 setcookieはprintやechoやHTMLコードの出力よりも前になくてはならないのですが、このコードではその通りになっていますが、手元のコードはなにか違いませんか? setcookieより先に何か出力されていないか、手元のソースをよくみてみましょう。 こういったエラーはgoogle等でちょっと調べると原因が分かります。 がんばってください。
- kentarou2333
- ベストアンサー率42% (65/152)
ソースコードの中に、全角スペースが入っていませんか? 参照したホームページの内容を、そのままコピーした場合、 全角スペースが、大量に入っているようです。
- yambejp
- ベストアンサー率51% (3827/7415)
>の部分でエラー発生します。 エラーの内容を補足してください
補足
エラーは↓ Parse error: syntax error, unexpected T_VARIABLE in /home/sites/heteml/users20/s/h/e/shengshi/web/data/test2.php on line 3
補足
フォームの表示はできました。 が、しかし、次は↓こんなエラーが発生しました。 Warning: Cannot modify header information - headers already sent by (output started at /home/sites/heteml/users20/s/h/e/shengshi/web/data/test3.php:2) in /home/sites/heteml/users20/s/h/e/shengshi/web/data/test3.php on line 9