Я не использовал куки раньше так что я просто новичок в этом. Все что я знаю о них я прочитал с самых разных сайтов.
Проблема: куки не сохраняется после обновления страницы.
В чем проблема: так как куки нужно отправлять до того как пойдут все скрипты оно находится в начале с "value" = переменная счетчика $counter. (Счетчик считает сколько товаров будет находится в корзине пользователя, каждый товар = +1 к счетчику.) Так как я только в конце файла записываю в куки это значение оно там есть и его можно вывести. Но если обновить страницу - куки обнуляется так как переменная теперь пустая и в куки нечего записать.
Я нашел решение и хочу спросить у вас совета:
Я думаю создать переменную массива GET что бы та передавалась с страницы на страницу и каждый раз по началу файла записывалась в куки как новая.
Может я конечно вообще ничего не шарю в этом, тогда подскажите как лучше это сделать?
1. Master_YI - 04 Августа, 2014 - 21:18:34 - перейти к сообщению
2. teddy - 04 Августа, 2014 - 21:45:31 - перейти к сообщению
Master_YI пишет:
Но если обновить страницу - куки обнуляется
Так Вы сами ответили на свой вопрос. Если кука "обнуляется", значит Вы её перезаписываете каждый раз, либо слишком краток срок её жизни. Нужно сделать проверочку, если куки нет, то её нужно создать, если кука уже есть, тогда мы просто используем её значение в нужных целях.
Предполагаю, что проверки на isset у Вас нет, в соответствии с этим, повторный вызов функции setcookie с аналогичными параметрами(в частности, название самой куки) просто перезапишет прежде сохраненное значение. Отсюда происходит и обнуление.
http://php.net/manual/ru/function.setcookie.php
Курите.
3. Tyoma5891 - 04 Августа, 2014 - 21:48:37 - перейти к сообщению
Master_YI пишет:
Может я конечно вообще ничего не шарю в этом, тогда подскажите как лучше это сделать?
Может я конечно вообще ничего не шарю в этом, тогда подскажите как лучше это сделать?
смысл куков как раз в том чтобы использовать их при обновлениях страниц
4. Master_YI - 05 Августа, 2014 - 13:47:43 - перейти к сообщению
teddy пишет:
Предполагаю, что проверки на isset у Вас нет, в соответствии с этим, повторный вызов функции setcookie с аналогичными параметрами(в частности, название самой куки) просто перезапишет прежде сохраненное значение. Отсюда происходит и обнуление.
Согласен, это я исправил:
После чего я добавил это:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $_COOKIE[goods_counter] = $_COOKIE[goods_counter]+1;
- echo $_COOKIE[goods_counter];
Но куки всегда равняется только 1(а по идее должен увеличиваться на 1 каждый раз при обновлении страницы). Он ведь не должен более обнулятся, он теперь проверяется в начале на существование.
Почему такое происходит?