PHP 5.2.6、Apache 2.0、Windows Vista Home Premiumです。

ローカルマシンで下記のコードでクッキーの保存を行っているのですが、保存されません。

------------------------------------------------------
<html>
<head>
<title>クッキーでデータを記録する</title>
</head>
<body>
<?php setcookie("email", "クッキーテスト", time()+(60*60*24*90)); ?>
</body>
</html>
------------------------------------------------------

ただ、上記のコードを「http://www.xrea.com/」でレンタルしたサーバーにアップロードすると、ちゃんとクッキーが保存されます。
そこで質問させていただきたいのですが、どうすればローカルマシンでもクッキーの保存が正常にできるようになるのでしょうか。
よろしくお願いいたします。

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2008/08/19 14:00:56
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:tezcello No.1

回答回数460ベストアンサー獲得回数69

ポイント27pt

ローカルのファイルを直接開いてしまっていて、Apache を経由していないのでは?


・Apache を起動する

・Apache で公開している URL でアクセスする (Win はよく知りませんが、http://localhost/ とか)

が必要では?

id:Haruka1976

回答ありがとうございます。

Apachはすでに起動していて、「<?php print ("Hello, world"); ?>」などは正常に表示されます。

http://localhost:8080/test/day02-3/cookie_rec.php」というURLでアクセスしています。

2008/08/19 13:12:12
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント27pt

WindowsXP でもローカルに Cookie は保存されるはずですが、下記を確認してください。

  1. ブラウザは何をご利用ですか? ここでは IE 6 or 7 として回答します。
  2. 「IEメニュー」→「インターネットオプション」→「プライバシー」タグで、ローカルホストの設定が「すべての Cookie を受け入れる」になっていますか?
  3. ローカルサーバ名は localhost で指定していますか? 127.0.0.1 で指定していますか?(どちらでも保存されるはずですが、一意にしておいた方がいいと思うので)
  4. \Documents and Settings\ユーザー名\Cookies にローカルホスト名の Cookie ファイルが保存されているかどうか確認してください。
id:Haruka1976

回答ありがとうございます。

OSはWindows Vista Home Premiumを使用しています。

1.ブラウザはIE7とFireFox3を利用しています。そのどちらでもクッキーは保存されません。

2.「すべての Cookie を受け入れる」に設定しましたが、保存されませんでした。

3.ローカルサーバ名はlocalhostにしています。

4.「C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows」を確認しましたが、ローカルホスト名のCookieファイルはありませんでした。

2008/08/19 13:23:00
id:tezcello No.3

回答回数460ベストアンサー獲得回数69

ポイント26pt

肝心な事を忘れていました。

cookie や header は、それ以前に何か出力されていてはダメです。

なので、Xrea でOKなのが解せませんが...


HTML のタグ等もNGですから、PHP のスクリプト部分をファイルの先頭に持ってくればよいのでは?

http://jp2.php.net/manual/ja/function.setcookie.php

id:Haruka1976

setcookie()をファイルの先頭に移動したら、正常にクッキーの保存ができるようになりました!

ありがとうございます!

2008/08/19 14:00:16
  • id:Haruka1976
    Haruka1976 2008/08/19 12:42:07
    すいません、テストにはIE 7.0とFireFox 3.0を使用しています。
    そのどちらでもクッキーは保存されませんでした。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません