2009-12-01 21 views
12

ドメイン内のすべてのサブディレクトリでphp cookie pathが "/"に設定されているのはなぜですか?それはちょうど仕事をしたいしませんクッキーパスを "/"に設定しても、サイト全体でクッキーにアクセスできません。

setcookie("name", "val", expire_time, "/"); 

:よう

クッキーが設定されています。

+0

これは、汚れよりも古いですが、あなたはあなたのサブディレクトリの重複Cookieセットを持っていたかもしれません。あなたの現在のパスに設定されたクッキーは、ベースパスに同じ名前が設定されたクッキーを上書きします。 –

答えて

5

クッキーパスを/に設定すると、ドメイン全体で使用できるようになります。あなたがそのようなクッキーを設定し、それが送信されていない場合は、別の何かが間違っています。

FirefoxでWeb Developerアドオンを使用してみてください。利用可能なCookieの詳細を表示します。問題を診断するのに役立つかもしれません。ドメインパラメータを含む

25

試してみてください。あなたは、ローカルホスト上

setcookie("name", "val", expire_time, "/", ".domain.com"); 
// don't forget the prefixing period: .domain.com 

"domain.com" のすべてsudomainsを可能にします

+2

質問はサブドメイン、サブディレクトリについては質問しませんでした。 –

19

をテストしていますか?その場合、$domainの値としてnullを渡す必要があります。

+6

ありがとう、これは私のローカルホストのインストールのためにそれを整理するのに役立ちました – onjegolders

2

私は知っています。しかし私はちょうど私の問題がかなり愚かであることを発見しましたが、私は完了のために投稿します:

私はクッキーの期限切れの時間にtime()を追加することを怠っていました。ザ・時間が時間(あるべき期限が切れる

)+秒

関連する問題