Cookie для всех браузеров

mailmoney

Новичок
Здравствуйте.
Подскажите как очистить все куки от сайта в любом браузере (универсальный код).

PHP:
foreach($_COOKIE as $ind=>$val)
@setcookie($ind,'',time()-999, "/", ".".$_SERVER['SERVER_NAME'] );
foreach ($_COOKIE as $name => $value) {
setcookie($name, '', -1, '');
}
Сделал так, работает, опера + фф. гугл+ие не работают. Подменять на пустые - не вариант. Нужно удаление (имена генерируются автоматически).
 

Linker

Новичок
mailmoney
во-первых $_COOKIE может быть таким: $_COOKIE['mailmoney']['auto_generated_name'] следовательно, достаточно будет один раз удалить $_COOKIE['mailmoney']
во-вторых "собаку" ты вставил зря
в-третьих надо бы самому отслеживать заголовки и просматривать, что там у тебя в твоих переменных есть, а не писать сюда "не работает"
 

mailmoney

Новичок
COOKIE вида Имя: auto_generated_name значение: auto_generated_values
все они остались случайно от бэтта версии сайта у большого колличества пользователей. нужно их удалить в момент авторизации.

а не писать сюда "не работает"
этот совет от вас приследует в каждой моей ветке.
помогите лучше делом, почему google chrom и IE впринципе их не удаляют.
 

Linker

Новичок
mailmoney
ко мне можно на "ты", но как хотите...

остались старые куки и остались, это же старая версия, "неправильная", нужно переделать на правильную и оптимальную, а старые пусть болтаются пока хозяева браузеров их не почистят сами, в чём проблема?

"не работает" это не описание проблемы, вы же как-то определили, что результат отличается от ожидаемого? И как-то пытались найти причину этого? Как вы это определили?
 

mailmoney

Новичок
Старые куки - мешают работу новым. Но вопрос не в том как передалть систему чтобы они не мешалась, а как же их удалить.
Если это невозможно - скажите что это так, Опера и FF поддается этой чистке.
 

Linker

Новичок
Вы меня простите, но я снова не понял:
как вы определили, что "старые мешают новым" и почему вы решили их непременно удалить?
Я вас уверяю, если вы поправите свой код, ну, как минимум имя куке поменяете на какое-то определённое, то все другие куки никак вам не помешают.
По поводу того, что Chrom или IE "не поддаются чистке" лично я никогда не слышал.
Кстате, в куках можно много полезной информации хранить, время например, когда поставили, или даже то, что это "бета" и вообще, всё, что угодно. А вот имя ей, как мне кажется, лучше определённое сразу задать, для удобства на будущее. А те, что со старым именем, неизвестным никому, устаревшие, из бета-версии - пусть идут на все четыре стороны, бог с ними.
 

mailmoney

Новичок
почему всегда усложнять - система не моя, люди работают в коммандах. если есть задача - можно попробовать ее решить. то что я вверху писал - впишите любой index.php - запустить какую нибудь любую систему которая идентифицирует пользователей. потом на этом же домене этот скрипт. все становится понятно - работает или нет.

т.е. не обсуждается как поправить систему, какой алгоритм применить, как правильно использовать куки и т.д. нужно - "как удалить куки из всех браузеров".

PHP:
<?php
foreach($_COOKIE as $ind=>$val)
setcookie($ind,'',time()-999, "/", ".".$_SERVER['SERVER_NAME'] );

foreach ($_COOKIE as $name => $value) {
setcookie($name, '', -1, '');
}
echo "<pre>";
print_r($_COOKIE);  // вывод текущих куков
?>
 

Linker

Новичок
У меня во всех браузерах ставится кука, например так:
PHP:
setcookie('some_name', 'some_value', time()+3600);
если я повторно отправлю заголовок так
PHP:
setcookie('some_name', 'some_value', time()-3600);
то ни один из браузеров, что у меня установлен на компьютере не станет отправлять в ответ данные этой куки, т.к. для него она просрочена...

Но дело тут не в этом даже, а в том, что если мне и придут какие-то куки (не важно какие и в каком формате)
я должен их правильно обработать, а именно, проверить её имя и значение. Причём самое главное для меня - это значение! Его я буду проверять очень тщательно, именно оно меня интересует, а не то, что там у пользователя в браузере, какие там у него куки, надо их чистить и вообще, как давно он делал евроремонт в своей квартире.
 
Сверху