Почему могут не удаляться и не обновляться cookie?
Всем привет! Возникла такая ситуация: есть корзина, которая хранится в cookie. При добавлении товара в корзину данные отправляются в обработчик, функции передаются параметры товара в виде ключа массива и количества товара в виде значения. В корзине есть также возможность изменить количество товара, тогда данные передаются уже в другой обработчик, но вызывают ту-же самую функцию добавления товара уже с новым количеством и передается тот-же ключ, извлеченный из cookie, но вот проблема в том что куки не обновляются именно с этого обработчика. Если просто добавить такой-же товар с новым количеством, то данные обновляются успешно, но тот-же механизм в другом обработчике почему то не работает. Я пробовал вывести массив сразу после вызова функции print_r($_COOKIE[ключ]), проверил через консоль firebug - массив вывелся с новым значением, но как только обновил страницу, возвращается старое значение. Пробовал удалить - не удаляются, при этом ошибок не выдает. Помогите пожалуйста разобраться! Заранее спасибо!
Возможно вы их кучу раз перезаписываете, попробуйте тем же firebug посмотреть заголовки и там определить какие куки приходят, тем более когда обновляете и выходит старое значение. А так хранить в куках корзину? Может лучше сессии? + время жизни сессии увеличить..
Да, сессии как вариант, только придется многое переделать. Я попробовал поместить скрипт в обработчик который находится уровнем выше, чем файл с функциями, в котором всё работало и всё прошло нормально, в корне сайта он находится. А тот обработчик находился уровнем ниже в каталоге, чем файл с функциями, я чтобы подключить его переходил на уровень вверх, он как раз и не работал. Может в этом и дело?
Алексей С.: проверял так: установил setcookie и потом вывел массив $_COOKIE, увидел что значение изменилось, но после перезагрузки меняется обратно, попробую проверить условием
setcookie() надо отправлять до того как показать что-то юзеру или через ob_start() ловить весь вывод. Откройте инспектор в браузере и проверяйте заголовки от сервера, если приходят то с какой меткой времени, после обновления опять проверяйте какие заголовки и какие куки в них, так поймете приходят вообще куки и что с ними происходит
Сталкивался с таким несколько раз. Проблема была в выводе данных клиенту до установки кукисов. Убедитесь что кукисы устанавливаются до отправки данных клиенту и что в файлах нету UTF BOM