2011-05-31 5 views
0

У меня есть две простые функции для установки и очистки файлов cookie.cookie delete problem

private function _setCookie($value = null) { 
    $value = $value === null ? $this->getRandomId() : $value; 
    setcookie($this->getName(), $value, time()+10800, '/'); 
} 

private function _clearCookie() {      
    setcookie($this->getName(), '', time()-10800, '/');     
} 

Существует страница при доступе к началу сеанса и созданию файла cookie по желанию. Когда переадресация происходит с другого сервера на мою страницу, удалите вызовы функций cookie внутри над _clearCookie funtion.I проверено setcookie возвращает true, и я также попытался отключить cookie в том же методе, но cookie по-прежнему доступен, когда я перезагружаю страницу. Я все еще могу найти этот файл cookie в браузере, а также firebug и print_r ($ _ COOKIE)

Также я изменил время истечения времени() - (3600 * 24), как уже упоминалось, некоторые другие темы, но никаких изменений в моем случае. Что мне здесь не хватает?

+0

Убедитесь, что вы не отправляете данные перед настройкой файлов cookie, иначе заголовки будут проигнорированы. –

+0

Я проверил и не отправил данные перед вызовом cookie delte –

+0

Оглядываясь вокруг, установите его для обратного пути: setcookie ("cookiename", "", mktime (12,0,0,1, 1, 1990), "/ «); – DevilCode

ответ

0

поэтому, когда я упомянул, что «переадресация вызова происходит с разных серверов на мою страницу», я пытался упомянуть об этом как обратный вызов канала. И, обращаясь к обратному каналу, cookie-браузеры не были идентифицированы. Я полагаю, и это основная причина, даже если setcookie возвращает мне true, фактическое удаление файлов cookie из браузера в таких случаях никогда не произойдет.