人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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/」でレンタルしたサーバーにアップロードすると、ちゃんとクッキーが保存されます。
そこで質問させていただきたいのですが、どうすればローカルマシンでもクッキーの保存が正常にできるようになるのでしょうか。
よろしくお願いいたします。


●質問者: Haruka1976
●カテゴリ:ウェブ制作 学習・教育
✍キーワード:2.0 Apache HOME PHP Windows Vista
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● tezcello
●27ポイント

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


・Apache を起動する

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

が必要では?

◎質問者からの返答

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

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

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


2 ● pahoo
●27ポイント

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

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

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

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

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

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

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

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


3 ● tezcello
●26ポイント

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

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

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


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

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

◎質問者からの返答

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

ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ