Forum Webscript.Ru
Программирование => PHP => Тема начата: Михаил от 15 Апреля 2003, 17:56:38
-
Привет!
Вопрос такого характера: есть страница с простенькой аутентификацие(имя, пароль), после чего это записывается в cookie со значением DA, на некоторых других страницах стоит проверка... ну типа если кук=DA-то одна страница, в противном случае страница аутентификации..
Но это все предисловие, а вопрос сам такого содержания: Как погасить кук, если он создан на один сеанс? Я пробовал создать точно такой же, но без дополнительных параметров, но что-то не получается.....
______________
СПАСИБО!
-
Михаил:
Я пробовал создать точно такой же, но без дополнительных параметров, но что-то не получается.....
Как не получается?
setcookie("val", ""); - так пробовал?
-
Куку надо удалять с теми же параметрами, что и устанавливал.
и время expiration должно быть в прошлом.
-
AliMamed
неправильно ты так думаешь.
чтобы удалить куку, единственным "тем же" параметром должно быть ее имя. А вот значение должно быть пустым.
-
RomikChef
а по-моему AliMamed все же прав! и эта информация полностью подтверждается мануалом:
Example 2. setcookie() delete examples
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
-
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.
и это прально. ибо от этого зависит в том числе и имя файлика с кукой.
-
А как же? Временем то он удаляется если создан на какое-то определенное время,... а если всего на один сеанс? Т.е. жмешь выход - погашение куков-редирект на главную страницу.
Всея схема работает кроме гашения куков...
-
Михаил
то есть? чувак нажимает логаут, сразу бросаешь куку с временем на год раньше к примеру, делаешь редирект, все куки уже нет, все должно работать, посмотри, что у тебя с кэшем, нажми ф5, попинай кэш прокси своей...
-
semya
Спасибо, попробую...! :-)
-
А на год раньше... Это как он должен выглядеть:?
time()-365*86400
-
да это я утрировал, что на год, достаточно к примеру на час
time() - 3600
-
Эх... Все равно не работает.... :-(
Это на странице аутентификации:
$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);
?>
-
Михаил:
Ставишь куку:
setcookie("name", $value);
Удаляешь куку:
setcookie("name", $_COOKIE[\'name\'], time() -3600);
И ВСЁ. Нафига ты понатыкал кучу параметров, я не понимаю.
[тема закрыта]