cookie не удаляются

KRU

Новичок
cookie не удаляются

ставим куки:
PHP:
setcookie("lalala", $user, time()+3600);
удаляем:
PHP:
//setcookie("lalala");
setcookie("lalala", "");
//setcookie("lalala", "", time()-3600);
а они не удаляются (пробовал все 3 варианта)
вывожу после
PHP:
echo $_COOKIE["lalala"];
и показывается значение, получается не удалилось.

в чем может быть дело???
PS:
на одном сайте работает без проблем, на другом нет :(
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Пример 2. setcookie() delete example<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>
 

Андрейка

Senior pomidor developer
Mr_Max
вы имеете в виду - чтобы удалить cookie у нее должно быть имя TestCookie или я вас не понял?
 

Фанат

oncle terrible
Команда форума
а с чего ты взял, что переменная в пхп должна вдруг удалиться?
 

KRU

Новичок
Автор оригинала: Mr_Max
Пример 2. setcookie() delete example<?php
// set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
?>
не помогает (я же писал выше, что пробовал 3 варианта)
 

KRU

Новичок
Автор оригинала: *****
а с чего ты взял, что переменная в пхп должна вдруг удалиться?
действительно :)
получается она удалится только после перезагрузки страницы.
правильно?
 

Фанат

oncle terrible
Команда форума
после перезагрузки страницы переменные не удаляются.
переменные вообще имеют смысл только в рамках исполняющейся прграммы. и новая программа, которую ты запускаешь, никак не может удалить переменную в другой программе. особенно - если та, другая - уже завершила свою работу.
 

KRU

Новичок
Получается, что помимо
PHP:
setcookie("lalala", "");
надо еще сделать
PHP:
unset($_COOKIE["lalala"]);
так?
 

Фанат

oncle terrible
Команда форума
если логика твоего скрипта требует удаления переменной - удали её. но при чем здесь cookie?

скажи, ты вообще понимаешь, что такое cookie?
 

KRU

Новичок
При залогинивании пользователя делаю:
PHP:
setcookie("current_user", ИД_пользователя, time()+3600);
header("Refresh: 0;url=/user/");
При загрузке страницы:
PHP:
if (isset($_COOKIE["current_user"])) {
	$CUR_USER=$_COOKIE["current_user"];
}
В теле - если пользователь вошел, то показываем ему что-нибудь:
PHP:
if (isset($CUR_USER)) {
показываем что-нибудь
}
По нажатию на кнопку "Выход" делаю:
PHP:
setcookie("current_user", "");
header("Refresh: 0;url=/user/");
 

Фанат

oncle terrible
Команда форума
ну и какие проблемы?
(если не обращать внимание на странный заголовок refresh вместо нормального Location и на то, что любой желающий при такой системе сможет войти под видом любого другого юзера)

где здесь в этой схеме
echo $_COOKIE["lalala"];?

и ты не ответил на вопрос, который я задал два раза
 

KRU

Новичок
Автор оригинала: *****
ну и какие проблемы?
(если не обращать внимание на странный заголовок refresh вместо нормального Location и на то, что любой желающий при такой системе сможет войти под видом любого другого юзера)

где здесь в этой схеме
echo $_COOKIE["lalala"];?

и ты не ответил на вопрос, который я задал два раза
1. как?
идешник пользователя берется из следующего запроса:
" SELECT id, login, password, name FROM users WHERE login='{$login}' and password='{$password}' ";
2. последний абзац читать так:
По нажатию на кнопку "Выход" делаю:
setcookie("current_user", "");
echo $_COOKIE["current_user"];
header("Refresh: 0;url=/user/");
3. куки - переменные хранящиеся на компьютере пользователя
 

Фанат

oncle terrible
Команда форума
что "как?"
при ем здесь этот запрос вообще, если "идешник" у тебя берется из куки?
2. последний абзац читать так:
По нажатию на кнопку "Выход" делаю:
setcookie("current_user", "");
echo $_COOKIE["current_user"];
header("Refresh: 0;url=/user/");
дааа? как интересно! и что ты видишь?
а, главное - зачем ты так делаешь?
3. куки - переменные хранящиеся на компьютере пользователя
Это очень большая ошибка.
во-первых, переменные, как я уже говорил, бываеют только в скрипте. и только во время его выполнения.
во-вторых, кука - это НТТР заголовок. Которым обмениваются браузер с сервером.
 

KRU

Новичок
Автор оригинала: *****
что "как?"
при ем здесь этот запрос вообще, если "идешник" у тебя берется из куки?

дааа? как интересно! и что ты видишь?
а, главное - зачем ты так делаешь?

Это очень большая ошибка.
во-первых, переменные, как я уже говорил, бываеют только в скрипте. и только во время его выполнения.
во-вторых, кука - это НТТР заголовок. Которым обмениваются браузер с сервером.
1. но в куку-то он записывается по результатам выполнения этого запроса
2. что именно? echo - чтобы увидеть что кука не удалилась :(
3. и?
PS:
подскажите тогда как правильнее и лучше сделать...
 

Фанат

oncle terrible
Команда форума
1. ты думаешь, ты один такой умный, кто умеет что-то записывать в куку? ;-)
2. при чем здесь кука, если ты выводишь ПЕРЕМЕННУЮ?
3. И - читай пункт два.
4. Тебе уже сказали: Сессии.
 
Сверху