Скрипт магазина для вашего бизнеса

PHP скрипт интернет-магазина

ShopCMS.Ru

Профессиональный скрипт интернет-магазина

ShopCMS – быстрый и удобный скрипт интернет-магазина!
Всё самое лучшее создано для Вас и Ваших покупателей!
Главная Новости Купить Хостинг Клиентам Услуги Файлы Контакты Форум

Сбрасывается куки

Обсуждение вопросов связанных с установкой и настройкой системы.

Сбрасывается куки

Сообщение Anton2011 » 29 окт 2013, 11:05

Добрый день, проблема человек добавил товар в корзину через 4-5 часа заново заходит и корзина пуста
т.е. куки сбрасываются, очень не удобно
Подскажите где капать, какой файл отвечает за это
Anton2011
Активист
 
Сообщения: 11
Зарегистрирован: 11 июн 2011, 14:10

Re: Сбрасывается куки

Сообщение mixer » 29 окт 2013, 14:03

Куки у человека судя по всему сбрасываются. К примеру программой "CCleaner"
В настройках смотри... "Количество часов, в течении которых магазин будет "помнить" посетителей"
Аватара пользователя
mixer
Старейшина
 
Сообщения: 217
Зарегистрирован: 07 июл 2011, 02:59
Откуда: Хабаровск

Re: Сбрасывается куки

Сообщение pupkin » 29 окт 2013, 16:14

Anton2011 писал(а):Добрый день, проблема человек добавил товар в корзину через 4-5 часа заново заходит и корзина пуста
т.е. куки сбрасываются, очень не удобно

Причем тут куки? Для нерегистрированных пользователей корзина хранится в массиве $_SESSION с соответствующим временем жизни. По умолчанию два часа, насколько я помню. А для регистрированных в SQL-таблице и этой проблемы нет.
pupkin
Активист
 
Сообщения: 15
Зарегистрирован: 08 окт 2013, 22:57

Re: Сбрасывается куки

Сообщение Anton2011 » 29 окт 2013, 23:22

да именно для незарегистрированных, какой фал отвечает за это подскажите что б увеличить время
для меня сейчас стало важно, многие жалуются что выбрали товар вечером, утром заходят а корзина пуста....
Anton2011
Активист
 
Сообщения: 11
Зарегистрирован: 11 июн 2011, 14:10

Re: Сбрасывается куки

Сообщение pupkin » 30 окт 2013, 01:00

Anton2011 писал(а):да именно для незарегистрированных, какой фал отвечает за это подскажите что б увеличить время
для меня сейчас стало важно, многие жалуются что выбрали товар вечером, утром заходят а корзина пуста....

Почему за это должен отвечать именно какой-то файл? Отвечает пункт в общих настройках "сколько времени помнить клиента", как-то так. Собственно, об этом выше уже написано.

PS. что-то мне не верится в "многие стали жаловаться", т.е. что есть куча клиентов, которые набирают корзину вечером, а утром снова заходят с желанием оплатить или продолжить набор товара в корзину. Тут полная аналогия с обычным круглосуточным магазином. Попробуйте набрать тележку товара и оставить ее в углу, а утром прийти за ней, чтобы дополнить и пойти с ней на кассу. Решаемо? Несомненно. Только кроме доброй воли магазину надо будет иметь в несколько раз больше тележек и свободного места в торговом зале, что не всегда возможно и почти всегда бессмысленно. Тут то же самое. И тележек (сессий) надо в разы больше, и места в зале (памяти) для хранения товара. Хочется - увеличивайте вышеописанное время и готовьтесь к другим сопутствующим проблемам. Два часа выбраны не просто так.

PPS. Но если хочется именно имя файла, то это php.ini, настройка session.gc_maxlifetime = ???
pupkin
Активист
 
Сообщения: 15
Зарегистрирован: 08 окт 2013, 22:57

Re: Сбрасывается куки

Сообщение mixer » 30 окт 2013, 03:35

pupkin писал(а):Причем тут куки?

Ну-у-у-у... если подумать, то куки при том что в них хранится PHPSESSID.
И настройки php тут никаким боком не стоят!
Содержимое корзины незарегистрированного пользователя хранится в таблице сессий магазина.
Время жизни сессии в таблице настраивается параметром "Количество часов, в течении которых магазин будет "помнить" посетителей"
Из всего этого следует что или этот параметр неверно указан в магазине, или пользователь удалил куки в которых хранится PHPSESSID. Ну или наконец может быть скрипт магазина испорчен ...
Аватара пользователя
mixer
Старейшина
 
Сообщения: 217
Зарегистрирован: 07 июл 2011, 02:59
Откуда: Хабаровск

Re: Сбрасывается куки

Сообщение mixer » 30 окт 2013, 03:39

Кстати есть еще один вариант... Если IP у юзера поменялся (диалап и т.д.), сессия удаляется. Скорее всего тут собака и порылась :)
Строка 31 в core\functions\session_functions.php
Аватара пользователя
mixer
Старейшина
 
Сообщения: 217
Зарегистрирован: 07 июл 2011, 02:59
Откуда: Хабаровск

Re: Сбрасывается куки

Сообщение pupkin » 30 окт 2013, 15:49

Ну-у-у-у... если подумать, то куки при том что в них хранится PHPSESSID.
И настройки php тут никаким боком не стоят!

Посмотрел, хм... А и действительно. Весь штатный PHP-механизм работы с сессиями заменен на свой путем session_set_save_handler(), и время хранения кук в браузере тоже задается своей функцией. Т.е. настройки PHP никак на время хранения сессий не влияют.

Я вот только одного не понимаю. Функция sess_gc (заменитель дефолтовой session_gc, сборки мусора, т.е. как раз убивающей "просроченные" массивы $_SESSION) убивает только просроченные строки в SQL-табличке. Куда деваются старые $_SESSION? Я не нашел в функции sess_gc() применения чего либо типа session_destroy().
Кстати есть еще один вариант... Если IP у юзера поменялся

Ну, это как-то совсем уж от лукавого. Сейчас даже у сотовых leased time адреса чуть ли не сутки, т.е. выдается всегда один и тот же. Я только одного провайдера знаю, где, наоборот, не реже раза в 12 часов зачем-то меняется IP-шник (принудительный переконнект), причем это проводной провайдер, а адреса - нормальные внешние.
pupkin
Активист
 
Сообщения: 15
Зарегистрирован: 08 окт 2013, 22:57

Re: Сбрасывается куки

Сообщение pupkin » 31 окт 2013, 21:20

Я вот только одного не понимаю. Функция sess_gc (заменитель дефолтовой session_gc, сборки мусора, т.е. как раз убивающей "просроченные" массивы $_SESSION) убивает только просроченные строки в SQL-табличке. Куда деваются старые $_SESSION? Я не нашел в функции sess_gc() применения чего либо типа session_destroy().

Разобрался. Массивы $_SESSION вообще не хранятся в памяти для каждой сессии. Используется функция sess_read. Она каждый раз при восстановлении сессии создает заново массив $_SESSION для этой сессии. Но если SQL-запись для сессии удалена, то и создавать нечего.
pupkin
Активист
 
Сообщения: 15
Зарегистрирован: 08 окт 2013, 22:57



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron
Copyright © 2000-2011 phpBB Group. Все права защищены.
Отдел продаж: sales@shopcms.ru