2017-01-31 3 views
1

Debianのapacheサーバーでクッキーが削除されていませんが、ローカルのxamppでクッキーを削除しています。ここ は、私はこのコードは、サーバー上で動作し、リメンバー・ミークッキーがサーバー上に作成されたクッキーなぜクッキーの削除はサーバー上では機能しませんが、ローカルシステムで正常に動作していますか?

$token = substr(hash('sha512', mt_rand() . microtime()), 0, 50); 
$extime = time()+86500; 

$url_parts = parse_url(current_url()); 
$domain = str_replace('www.', '', $url_parts['host']); 

// set cookie 

setcookie('rememberme',$token,$extime,"/",$domain); 

を設定するために使用されるコードです。ここで

私は

// Delete Cookie 
setcookie('rememberme',"",0,"/"); 

私のサーバー上で作業ローカルではなく、上の上記のコードは正常に動作し、それを削除するために使用されるコードです。

私はhttp://example.com/myprojectのようなURLと$ドメインとサブドメインとしてテストアプリケーションをホストされているが、それは、サーバー上で正常に動作していない理由を誰かが知っている場合は、私を助けてください.example.com

値を与えます。

+0

有効期限は過去である必要があります –

+0

あなたが送信するまでブラウザのクッキーは影響を受けないことに気づきました。新しいクッキー情報、すなわち、削除がブラウザに送られるように、ブラウザにページを送信します。 – RiggsFolly

+0

setcookie( 'rememberme'、 ''、time() - 3600); – Kaylined

答えて

3

私のコメントごとに:(そして、ドメインを引数として追加してください)。

setcookie('rememberme',"",0,"/",$domain); 

多くの場合、ドメインが必要です。クッキーのマニュアルから

http://php.net/manual/en/function.setcookie.phpとユーザーからは、Notesを寄贈:

「あなたは問題時々クッキーを見たり、時にはクッキーを削除した場合は、以下のアドバイス以下にもかかわらず、必ずとクッキーを設定している作ります私はドメインを指定していませんでしたが、ブラウザのURLにhttp://www.example.comがあって後で試してみたときにクッキーを設定していたことに気づきました。 URLにwww。http://example.comがないときにそれを削除する。これはまた、www。がドメインにないときにページがクッキーを見つけることができなくなった(domain引数をsetcookieに追加すると"

+0

詳細な説明はありがとうございます。 –

+0

@ GeordyJamesあなたはGeordyを大歓迎します。簡単な答えでポップアップするのではなく、より多くの情報が必要だと感じました。*歓声* –

関連する問題