• ベストアンサー

クッキーがよくわかりません

クッキーの利用の仕方が不明です。 ↓以下のようなプログラムを↓をコピペしてきたのですが、よくわかりません…$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>

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

<!-- で始まる行を全部消してみてはどうでしょうか?

その他の回答 (3)

  • yossy-55
  • ベストアンサー率55% (5/9)
回答No.3

Warning: Cannot modify header information - headers already sent by... クッキーを利用する時の基本中の基本ですが、 setcookieはprintやechoやHTMLコードの出力よりも前になくてはならないのですが、このコードではその通りになっていますが、手元のコードはなにか違いませんか? setcookieより先に何か出力されていないか、手元のソースをよくみてみましょう。 こういったエラーはgoogle等でちょっと調べると原因が分かります。 がんばってください。

回答No.2

ソースコードの中に、全角スペースが入っていませんか? 参照したホームページの内容を、そのままコピーした場合、 全角スペースが、大量に入っているようです。

saak888
質問者

補足

フォームの表示はできました。 が、しかし、次は↓こんなエラーが発生しました。 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

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>の部分でエラー発生します。 エラーの内容を補足してください

saak888
質問者

補足

エラーは↓ Parse error: syntax error, unexpected T_VARIABLE in /home/sites/heteml/users20/s/h/e/shengshi/web/data/test2.php on line 3

関連するQ&A