※ ChatGPTを利用し、要約された質問です(原文:クッキーに関して)
クッキーに関する現状と問題点
このQ&Aのポイント
開発環境と実際のweb上でのクッキーの動作に違いがある
クッキー情報の保存や取得がローカルとweb上で異なっている
問題の解決のため、ソースコードの不備や適切な方法をご指導してほしい
こんばんは。お世話になっております。
ここ1~2週間ほどクッキーについて学んでいるのですが、開発環境と実際のweb上での動きに違いが見られ、何がどう違うのか?が見えなくなってしまいました。下記に現状を書き留めますのでご指導頂けたら幸いに思います。
$addr = $_SERVER['REMOTE_ADDR'];
setcookie("addr", $addr, time() + 60*60*24);
setcookie("key_no", $key_no, time() + 60*60*24);
以上を設置すると、web上のサーバーにアップしたものに関しては、クッキーのファイルに、addr、key_no共に保存されるが、ローカルではクッキーファイル内にkey_noが見られない。
ブラウザを閉じた後、クッキー情報を取得するために、
if(isset($_COOKIE["addr"])){
$addr = $_SERVER['REMOTE_ADDR'];
$addr1 = $_COOKIE["addr"];
if($addr == $addr1){
として始めるものの、web上ではクッキーの取得に成功し、ローカル上ではクッキーを認識しない。
と、以上のような状況です。ソース的な不備も含め、ご指導いただきたく思います。お忙しい中恐縮ですが宜しくお願い申し上げます。
お礼
hrm_mmm様 はじめまして、こんにちは。お返事有難う御座います。 ローカルでの環境は、 OS:winXP PHP:5.1.4 Aoache:1.3.29 接続は、http://localhost/~ webサーバーはlolipopを利用しています。 何度も見直してはいるのですが、思うような結果は得られず、何処か見落としがあるのか?とも思っているのですが・・ 引き続きご指導頂けたら幸いです。
補足
補足にて失礼します。 現在も尚、解決出来ずにおりますが、現状で分かった内容を書き留めます。 質問時に記載したソースは、ログイン時にクッキーを保存し、次回以降、自動ログインをするためのものですが、クッキーを保存するファイルはログインする場所であり、クッキーを読み込むソースはトップページに設置したものです。(別ディレクトリ) ちなみに、これまた別ディレクトリ(トップ以下のディレクトリ)にログアウトページを設け、 setcookie("addr", $addr, time() -1); setcookie("key_no", $key_no, time() -1); なるものを設置してみました。 で、現在確認出来たことは、 1.トップページからのクッキー情報は取得できない。 2.クッキーをセットしたログインページへ行くと取得出来る。 3.ログアウトしても、クッキー情報は削除されない。 以上です。 実際に保存されているテキスト(クッキー内容)を開いてみると、localhost/・・・と、パスが記載されているので、この該当するパス以外は参照出来ない?とも思ったりもしているのですが、テスト的にweb上にアップしたものは思うような動作を確認出来ているので、 (何度も見直してはいるものの)ローカルでのソースに不備がある? それとも単にローカルでは上手く行かないもの? それとも今まで見落としていた設定(php.iniなど)に不備がある? と、???ばかりで立ち止まっている次第です。 お忙しい中恐縮ですが、今一度、ご教授いただければ幸いです。宜しくお願い致します。