setcookie("cart","",time()+0);
setcookie("total_items", "",time()+0);
setcookie("total_price", "",time()+0);
unset($_SESSION['cart']);
unset($_SESSION['total_items']);
unset($_SESSION['total_price']);
Он почему то вообще ничего не удаляет и не очищает О_О, уже в разных браузерах посмотрел.
Спустя 2 минуты, 52 секунды (17.05.2011 - 15:36) Snus написал(а):
setcookie('cart','');
Кука удалится при первом же закрытии браузера
$_SESSION['cart'] = NULL;
Спустя 7 минут, 37 секунд (17.05.2011 - 15:43) Zerstoren написал(а):
А если в cart содержится еще один массив?
Разве не возникнет ошибка?
Забыл ее название, суть когда к массиву пытаешься добавить строку или чот подобное
Я порой очищаю сессию $_SESSION = array();
Чистит напрочь все.
Разве не возникнет ошибка?
Забыл ее название, суть когда к массиву пытаешься добавить строку или чот подобное
Я порой очищаю сессию $_SESSION = array();
Чистит напрочь все.
Спустя 1 минута, 54 секунды (17.05.2011 - 15:45) killer8080 написал(а):
а зачем нужен time()+0?
Спустя 1 минута, 25 секунд (17.05.2011 - 15:47) killer8080 написал(а):
Цитата (Zerstoren @ 17.05.2011 - 15:43) |
А если в cart содержится еще один массив? Разве не возникнет ошибка? |
конечно нет, да и unset() прекрасно работает
Спустя 3 минуты, 52 секунды (17.05.2011 - 15:50) sharki написал(а):
так, щас попробовал с $_SESSION['cart'] = NULL; всё получилось. Но куки не удаляются, как бы сессия пуста, но куки целы и не опусташились.
В куках у меня сериализованный массив сессии.
Как видим нужные сессионные данные удалились,а куки нет.
первый массив это куки, второй сессия
В куках у меня сериализованный массив сессии.
Как видим нужные сессионные данные удалились,а куки нет.
первый массив это куки, второй сессия
Array
(
[cart] => a:2:{i:15;i:1;i:14;i:1;}
[total_items] => i:2;
[total_price] => i:98523;
)
Array
(
[clouse] => 1
[user_id] => 3
[fio] => саша
)
Спустя 59 секунд (17.05.2011 - 15:51) linker написал(а):
нужно time() - любое значение, например
setcookie("total_items", "",time() - 3600);
Спустя 51 секунда (17.05.2011 - 15:52) sharki написал(а):
linker
Щас попробую
Щас попробую
Спустя 1 минута, 59 секунд (17.05.2011 - 15:54) killer8080 написал(а):
Цитата (killer8080 @ 17.05.2011 - 15:47) |
В куках у меня сериализованный массив сессии. |
Это как? Весь целиком? Да, и за чем нужны куки, если всё равно данные хранишь в сессии, зачем этот дубляж?
Спустя 2 минуты, 57 секунд (17.05.2011 - 15:57) sharki написал(а):
killer8080
А вот какая нибудь тупая блондинка закроет браузер нечаянно, и корзина очистится =) Я бы с радостью и без кук сделал)
linker
Все равно не пропадают. Щас буду рыть код, может что перекрывает...
А вот какая нибудь тупая блондинка закроет браузер нечаянно, и корзина очистится =) Я бы с радостью и без кук сделал)
linker
Все равно не пропадают. Щас буду рыть код, может что перекрывает...
Спустя 6 минут, 21 секунда (17.05.2011 - 16:03) killer8080 написал(а):
Цитата (sharki @ 17.05.2011 - 15:57) |
А вот какая нибудь тупая блондинка закроет браузер нечаянно, и корзина очистится =) Я бы с радостью и без кук сделал) |
Ну если проблема только с временем жизни сессии, то можно сделать чисто на куках.
попробуй в expire вместо time() поставить 0.
setcookie("cart","",0);
setcookie("total_items", "",0);
setcookie("total_price", "",0);
Спустя 12 секунд (17.05.2011 - 16:04) sharki написал(а):
Вообще куки у меня вот так регистрируются, Этот код выполняется каждый раз, когда что-то в корзину добавляют. Почему так, потому что странным образом не перезаписывает существующию куку вот так
Может быть такое, что часы складываются? и в итоге там не один час а больше?
$_COOKIE['cart'] = "sfdsf";
Может быть такое, что часы складываются? и в итоге там не один час а больше?
setcookie("cart", serialize($_SESSION['cart']),time()+3600);
setcookie("total_items", serialize($_SESSION['total_items']),time()+3600);
setcookie("total_price", serialize($_SESSION['total_price']),time()+3600);
Спустя 3 минуты, 10 секунд (17.05.2011 - 16:07) killer8080 написал(а):
sharki
на сервере может быть неправильно выставлена временная зона.
на сервере может быть неправильно выставлена временная зона.
Спустя 2 минуты, 3 секунды (17.05.2011 - 16:09) killer8080 написал(а):
Цитата (sharki @ 17.05.2011 - 16:04) |
$_COOKIE['cart'] = "sfdsf"; |
ну вообще то на саму куку манипуляции с массивом никак не влияют. Куки выставляются только через setcookie()
Спустя 24 минуты, 33 секунды (17.05.2011 - 16:33) sharki написал(а):
Сделал проверку на куки, и как они вообще удаляются.
Вывод: Куки удаляются после двух обновлений страницы, как бы два раза должен выполнится тот код и удалить куки. Но у меня после оформления заказа, страница делает редирект на другую, получается что код выполнился только ОДИН раз. и ничего не удалил. Решил так, создал новую сессию типа статуса "on" или "off", так вот при удалении сессий, я выставляю статус в off, и в индексе идет проверка на статус, если off то удалить еще раз куки, если нет то ничего не делать...
Как то так
Всем спасибо за помощь)
Вывод: Куки удаляются после двух обновлений страницы, как бы два раза должен выполнится тот код и удалить куки. Но у меня после оформления заказа, страница делает редирект на другую, получается что код выполнился только ОДИН раз. и ничего не удалил. Решил так, создал новую сессию типа статуса "on" или "off", так вот при удалении сессий, я выставляю статус в off, и в индексе идет проверка на статус, если off то удалить еще раз куки, если нет то ничего не делать...
Как то так
Всем спасибо за помощь)
Спустя 2 минуты, 6 секунд (17.05.2011 - 16:36) linker написал(а):
Удаляй куки до попадания на последнюю нужную страницу.
Спустя 1 минута, 32 секунды (17.05.2011 - 16:37) sharki написал(а):
linker
В моем случае он кидает в ЛК, а если он сам зайдет в ЛК, и куки сотрутся?
В моем случае он кидает в ЛК, а если он сам зайдет в ЛК, и куки сотрутся?
Спустя 3 минуты, 3 секунды (17.05.2011 - 16:40) killer8080 написал(а):
в принципе куки можно и не удалять, а просто прописать ''
а в коде анализировать не только наличие, но и значение кук.
setcookie("cart", '',time()+3600, "/");
setcookie("total_items", '',time()+3600, "/");
setcookie("total_price", '',time()+3600, "/");
а в коде анализировать не только наличие, но и значение кук.
Спустя 28 дней, 23 часа, 33 минуты, 2 секунды (16.06.2011 - 16:13) Guest написал(а):
Цитата (sharki @ 17.05.2011 - 12:33) |
собсна сам код)set[SPAN=darling]cookie[/SPAN]("cart","",time()+0); Он почему то вообще ничего не удаляет и не очищает О_О, уже в разных браузерах посмотрел. |
какая задача вообще стоит?ты не указал переменную,которую надо поместить в значение, к примеру переменной cart,тем-более зачем-то удаляешь переменные сессии,а не куки,нужно так: unset($_COOKIE['cart']),а задавать вот так: setcookie("cart", "переменная,которую хочешь занести в cart",time()+"время,на которое хочешь занести, "/" (чтобы на каждой странице читалось)"); кавычки нужно только для слэша