Forum Webscript.Ru

Программирование => PHP => Тема начата: Михаил от 15 Апреля 2003, 17:56:38

Название: Удаление cookie
Отправлено: Михаил от 15 Апреля 2003, 17:56:38
Привет!

Вопрос такого характера: есть страница с простенькой аутентификацие(имя, пароль), после чего это записывается в cookie со значением DA, на некоторых других страницах стоит проверка... ну типа если кук=DA-то одна страница, в противном случае страница аутентификации..
Но это все предисловие, а вопрос сам такого содержания: Как погасить кук, если он создан на один сеанс? Я пробовал создать точно такой же, но без дополнительных параметров, но что-то не получается.....


______________
СПАСИБО!
Название: Удаление cookie
Отправлено: Nevermind от 15 Апреля 2003, 18:20:31
Цитировать
Михаил:
Я пробовал создать точно такой же, но без дополнительных параметров, но что-то не получается.....

Как не получается?

setcookie("val", ""); - так пробовал?
Название: Удаление cookie
Отправлено: AliMamed от 15 Апреля 2003, 19:28:13
Куку надо удалять с теми же параметрами, что и устанавливал.
и время expiration должно быть в прошлом.
Название: Удаление cookie
Отправлено: Меняздесьдавнонет от 16 Апреля 2003, 08:52:03
AliMamed
неправильно ты так думаешь.
чтобы удалить куку, единственным "тем же" параметром должно быть ее имя. А вот значение должно быть пустым.
Название: Удаление cookie
Отправлено: semya от 16 Апреля 2003, 10:02:57
RomikChef
а по-моему AliMamed все же прав! и эта информация полностью подтверждается мануалом:

Example 2. setcookie() delete examples
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
Название: Удаление cookie
Отправлено: AliMamed от 16 Апреля 2003, 13:01:15
RomikChef - я как и ты так считал, пока перед тем как на вопрос ответить не залез в мануал и с удивлением не узнал, что
Цитировать
Cookies must be deleted with the same parameters as they were set with.
и
Цитировать
When deleting a cookie you should assure that the expiration date is in the past, to trigger the removal mechanism in your browser.

и это прально. ибо от этого зависит в том числе и имя файлика с кукой.
Название: Удаление cookie
Отправлено: Михаил от 17 Апреля 2003, 08:33:39
А как же? Временем то он удаляется если создан на какое-то определенное время,... а если всего на один сеанс? Т.е. жмешь выход - погашение куков-редирект на главную страницу.
Всея схема работает кроме гашения куков...
Название: Удаление cookie
Отправлено: semya от 17 Апреля 2003, 10:33:01
Михаил
то есть? чувак нажимает логаут, сразу бросаешь куку с временем на год раньше к примеру, делаешь редирект, все куки уже нет, все должно работать, посмотри, что у тебя с кэшем, нажми ф5, попинай кэш прокси своей...
Название: Удаление cookie
Отправлено: Михаил от 19 Апреля 2003, 12:15:11
semya

Спасибо, попробую...! :-)
Название: Удаление cookie
Отправлено: Михаил от 19 Апреля 2003, 20:08:08
А на год раньше... Это как он должен выглядеть:?

time()-365*86400
Название: Удаление cookie
Отправлено: semya от 19 Апреля 2003, 22:01:14
да это я утрировал, что на год, достаточно к примеру на час

time() - 3600
Название: Удаление cookie
Отправлено: Михаил от 20 Апреля 2003, 11:03:35
Эх... Все равно не работает.... :-(

Это на странице аутентификации:
$cookie_name = "proverka";
        $cookie_value = "ok";
        $cookie_expire = "";
        $cookie_domain = "";
       
        setcookie($cookie_name, $cookie_value, $cookie_expire, "/" , $cookie_domain, 0);


Это на странице выхода....

$cookie_name = "proverka";
        $cookie_value = "no";
        $cookie_expire = "time() - 3600";
        $cookie_domain = "";

        setcookie($cookie_name, $cookie_value, $cookie_expire, "/" , $cookie_domain, 0);
?>
Название: Удаление cookie
Отправлено: Tronyx от 20 Апреля 2003, 11:22:27
Михаил:
Ставишь куку:
setcookie("name", $value);

Удаляешь куку:
setcookie("name", $_COOKIE[\'name\'], time() -3600);

И ВСЁ. Нафига ты понатыкал кучу параметров, я не понимаю.

[тема закрыта]