2011-02-02 15 views
0

「ログインしたままにする」オプションがあるサイトがあります。オプションをチェックすると、私はそうのような1ヶ月のクッキーを設定します。PHPクッキーは削除されません!

$expire = time()+60*60*24*30; 
setcookie("user_ID", $userid, $expire); 
setcookie("u", $username, $expire); 
etc. 

それから私は、過去に日一時間をゼロにし、期限切れに値を設定し、クッキーを殺すためにログアウトスクリプトを持っています。

$expire2 = time()-60*60; 
foreach ($_COOKIE as $c_id => $c_value) 
{ 
    setcookie($c_id, NULL, $expire2); 
} 

私はログアウト・スクリプトを実行すると、Firebugのは、この意見:

のSet-Cookie のuserID =削除されました。 expires = Tue、02-Feb-2010 16:43:15 GMT u =削除済み。有効期限= 2010年2月2日16:43:15 GMT

しかし、メインページや他のページに戻ると、まだログインしています。私がクッキーを設定する唯一の時間は、私がログインスクリプトを実行するときです。なぜ彼らは死なないでしょうか? GMTの後ろにある現地時間と何か関係がありますか?

+2

認証を維持するために$ _SESSIONベースのCookieを使用していますか? –

+0

あなたの認証はどのように機能しますか?あなたのクッキーに何が起こったのかを確認しましたか? – Gumbo

答えて

3

気にしないでください。ほとんどの間違いと同じように、これはかなりばかげていました。私はパスクッキーを設定していました。私のログアウトスクリプトはログインスクリプトとは別のディレクトリにありました。私はそれらをドメインクッキーに設定して、彼らは今働いています。

関連する問題