• ベストアンサー

PHPでクッキーを使用して

たとえば http://test.com/index.php?id=a01 でアクセスした場合a01という引数をクッキーに保存し、 その引数を画像ファイル名やインクルードファイル名に使用し、 a01専用のデザイン、要素に変えるということをしています。 わかりにくいかもしれませんが、つまり、 お客さんによってヘッダーやフッターだけはお客さん用に、 変えて共通で使える部分は共通で使っているということです。 そこで、問題なのですが、 http://test.com/index.php?id=a01でアクセスした場合、 以降、どのページ移動しようが、クッキーに保存しているので、 ヘッダーやバナーは引き継がれたままなのですが、 http://www.test.com/index.php?id=a01(ホスト名が付いている) でアクセスするとまた別のクッキーとして新たに登録されていまい、 困っています。どちらからアクセスしてもひとつのクッキーとして 保存したいのですが、何か良い方法はないでしょうか。 よろしくお願いします。

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

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

setcookie関数を使用しているのかな?と思うのですが、第5引数に、ドメインを指定してあげるといいんじゃないかな?と思います。 setcookie("id",'a01',expire,'/','.test.com'); こんな感じでしょうか。 #expireはtime()+有効秒数

trfnc223
質問者

お礼

ごかいとうありがとうございます! 試してみます!!!

その他の回答 (1)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.2

PHPに限らず、他の言語でも同じ症状出たと記憶しています それがCOOKIEの仕様(だったはず・・・ちょっと定かではないですが) 関係ない話ですが、クッキーの値をそのまま画像ファイル名やインクルードファイル名にするのはすごく危ないですよ クッキーなんていくらでも改変できますから、意図的にクッキーの値を変更させてアクセスしにいけば、本来ならば直接インクルードさせたくないファイルを読み込み放題になります。 たとえば、簡単なデータや設定値を.dataや.txtで保存させていたと仮定します。読み込みエラーでそのファイル名が表に出てしまいました。その名前を基にクッキーの値を意図的に改変しそファイル名をクッキー名に設定します。あなたのロジックではクッキー名=インクルードファイル ですから、そのtxtファイルをごっそり見られてしまいますよ。

trfnc223
質問者

お礼

わざわざご指摘ありがとうございました。 参考にさせていただきます。

関連するQ&A

専門家に質問してみよう