Корзина товаров. PHP.
Не так давно появилась необходимость написать скрипт корзины товаров для небольшого сайта. Сразу скажу что регистрации юзеров нет. Просто заказ, средствами сессий или кук. Вот тут-то и встал вопрос - куки или сессии?
Сначала всё было сделано на Сессиях. Но смутило их время жизни. Ладно если-бы только при выходе с сайта умирали... Но так-же после определённого таймаута сессия удаляется. Т.е. холостой простой страницы в течении часа - и корзина обнуляется.
Переделал слегка скрипт, так что-бы заменить сессии куками. Но тут встал вопрос - а что если куки отключены? Вобщем-то это не так-то и витально, я думаю, но всё-же...
зы Система очень проста - добавление товара в сессию/куку (id и кол-во). При заходе на страницу с корзиной - запрос в базу и выборка нужных товаров.
ззыы юзал поиск. нашёл http://forum.codenet.ru/showthread.php?t=32647 - это, но настолько увлёкся чтением темы что так и не уловил общего решения.
а ты думаешь, кто-то что-то сунул в корзинку и пошёл часок новостипосмотретьсдрузьямиобсудить, чтобы потом опять что-то в корзинку положить? :D
UAS: ну тогда всё равно придётся что-то хранить в куках/сессиях, какой-то уникальный ID пользователя (пусть даже временный, пока заказ не сделает)
UAS: ну тогда всё равно придётся что-то хранить в куках/сессиях, какой-то уникальный ID пользователя (пусть даже временный, пока заказ не сделает)
ну а что мешает вывести в данном случае пользователю сообщение о том что сессия устарела? что здесь такого? производя покупки в супермаркете вы вышли и отправились по своим делам на время свыше трех часов. в праве ли вы ожидать что ваша корзинка с покупками, которые вы еще не оплатили останется там где вы ее бросили?
Ну а если куки не поддерживаются, то пиши это пользователю. По мне, так уже у всех они включены, так что нет смысла заботиться об этом сильно
А ты пробовал ini_get() и ini_set() использовать? иногда помогает.
Врятли это поможет говорит мой склероз напоминая о сборщике мусора.
Так время указанное в php.ini для сборщика мусора не является гарантированным. Т.е. это не гарантирует, что сессия будет точно удалена в указанное время. Она просто гаратнирует, что сессия не будет уделена раньше это времени. Поэтому реально сессия может прожить еще дотаточно долго.