0
我在使用Cookie時遇到了一些問題,即PHP。在本地主機上,Cookie似乎不會被刪除,用戶仍然通過WWW.somesite.com登錄,但註銷在SOMESITE.com上運行。在PHP中cookie不會無法在所有域中取消設置
這是與所設置的Cookie打交道的代碼/取消設置:
public static function cookie($name, $value){
$host = apache_request_headers();
$host = $host['Host'];
$host = explode('.', $host);
$count = count($host);
if($count >= 2) {
$host = ($host[0] == 'test') ? 'test.' . $host[$count - 2] . "." . $host[$count - 1] : $host[$count - 2] . "." . $host[$count - 1];
} else {
$host = $host[0];
}
//$host = explode(':', $host);
//$host = $host[0];
//Core::prnt($host);
if($value === NULL) {
setcookie($name, $value, time() - Options::getSetting('U_SESSION_TIMEOUT'), '/', $host);
Core::prnt($_COOKIE);
return;
}
setcookie($name, $value, time() + Options::getSetting('U_SESSION_TIMEOUT'), '/', $host);
}
任何想法,我做錯了會非常有幫助。
確保您在此函數中''host'具有相同的計算,並且無論您在何處擦除cookie。如果你想在'server.com'和'www.server.com'之間共享cookies,請確保'$ host'以'.'開始,例如。 '.server.com' – 2013-05-03 17:21:48
如果你讓這個答案我會接受它。這似乎是'。'的錯。 – DavidScherer 2013-05-03 18:07:54