ローカルマシンで下記のコードでクッキーの保存を行っているのですが、保存されません。
------------------------------------------------------
<html>
<head>
<title>クッキーでデータを記録する</title>
</head>
<body>
<?php setcookie("email", "クッキーテスト", time()+(60*60*24*90)); ?>
</body>
</html>
------------------------------------------------------
ただ、上記のコードを「http://www.xrea.com/」でレンタルしたサーバーにアップロードすると、ちゃんとクッキーが保存されます。
そこで質問させていただきたいのですが、どうすればローカルマシンでもクッキーの保存が正常にできるようになるのでしょうか。
よろしくお願いいたします。
ローカルのファイルを直接開いてしまっていて、Apache を経由していないのでは?
・Apache を起動する
・Apache で公開している URL でアクセスする (Win はよく知りませんが、http://localhost/ とか)
が必要では?
WindowsXP でもローカルに Cookie は保存されるはずですが、下記を確認してください。
回答ありがとうございます。
OSはWindows Vista Home Premiumを使用しています。
1.ブラウザはIE7とFireFox3を利用しています。そのどちらでもクッキーは保存されません。
2.「すべての Cookie を受け入れる」に設定しましたが、保存されませんでした。
3.ローカルサーバ名はlocalhostにしています。
4.「C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows」を確認しましたが、ローカルホスト名のCookieファイルはありませんでした。
肝心な事を忘れていました。
cookie や header は、それ以前に何か出力されていてはダメです。
なので、Xrea でOKなのが解せませんが...
HTML のタグ等もNGですから、PHP のスクリプト部分をファイルの先頭に持ってくればよいのでは?
setcookie()をファイルの先頭に移動したら、正常にクッキーの保存ができるようになりました!
ありがとうございます!
回答ありがとうございます。
Apachはすでに起動していて、「<?php print ("Hello, world"); ?>」などは正常に表示されます。
「http://localhost:8080/test/day02-3/cookie_rec.php」というURLでアクセスしています。