Jump to content

[2.*] Модуль хранения СЕССИЙ в БД. [сохранение корзины, логина и пр. при закрытии броузера]


Recommended Posts

Данный модуль предназначен для сохранения данных сессии в БД MySQL.

 

Зачем мне это?

Дело в том, что данные корзины, авторизации пользователя, данные избранных товаров и товаров для сравнения (при наличии этих модулей) и др. хранятся в сессии.

Использовать хранение данных в сессии удобно, но есть недостаток - время хранения сессии ~30мин бездействия или до закрытия броузера.

 

Это значит, что если покупатель отлучится по делам более чем на 30мин. или случайно закроет броузер, а такое бывает, то он обнаружит пустую корзину, слетевшую авторизацию, отсутствие избранных товаров, отсутствие прочих данных, которые хранились в прошлой сессии.

 

Данную проблему поможет решить модуль "Хранение сессий в БД", задача которого заключается в сохранении текущей сессии пользователя в базе данных и ее восстановлении при возврате покупателя в интернет-магазин.

 

Принцип работы:

1. Новый посетитель заходит на сайт. Создается сессия, которая тут же записывается в БД. В cookie записывается метка идентификатор сессии.

2. При каждом посещении страницы, запись сессии в БД обновляется. Обновляется так же LifeTime (время жизни) cookie и сессии, который установлен модулем по умолчанию 30 дней.

3. Закрыли броузер и открываем его через время. Получаем идентификатор сессии из cookie, восстанавливаем сессию из БД.

 

В перспективе на основе этого модуля сделать:

1. Просмотр пользователей онлайн (Гостей и авторизированных)

2. Просмотр местоположения пользователя на сайте (URL страницы), IP и название броузера пользователя.

3. Просмотр в realtime действия пользователя (переходы по страницам)

 

PS: Все эти возможности и даже лучше есть в Я.Метрика и некоторых других счетчиках, потому вопрос о необходимости реализации этих возможностей обсуждаем.

 

Как мне купить?

Стоимость модуля: 1000 руб. (Модуль продается только с установкой)

Варианты оплаты: 

  • карта СберБанка России
  • WebMoney.

Установка в течении суток после оплаты.

За покупкой обращайтесь в Skype: cernos2 или в ЛС

Edited by cernos
Link to post
Share on other sites

А зачем писать в БД и раздувать место если можно это хранить в кукис?

Ограничение cookie - 4кб, после того куки забьются на сайт человек уже не войдет - будет ошибка, пока их не очистит.

 

В моем случае, когда у меня стоит дополнительно модуль комплектов, избранных товаров и товаров для сравнения - это не подходит. Забивается куки очень быстро. Если нужно хранить в куки корзину из одного товара - согласен, все будет ОК.

Edited by cernos
Link to post
Share on other sites

Ограничение cookie - 4кб, после того куки забьются на сайт человек уже не войдет - будет ошибка, пока их не очистит.

 

В моем случае, когда у меня стоит дополнительно модуль комплектов, избранных товаров и товаров для сравнения - это не подходит. Забивается куки очень быстро. Если нужно хранить в куки корзину из одного товара - согласен, все будет ОК.

 

А за счет чего "забивается куки очень быстро"?

"модуль комплектов, избранных товаров и товаров для сравнения" - хранится лишь ID товаров

4Кб - можно записать в куки порядка 1000 ID товаров.

Неужто у Вас такие посетители, что у них в корзине, избранном и  сравнении  - сотни(!) товаров?

В сравнении - вообще обычно ставятся ограничения в 5-10 товаров...

 

Можно ли увидеть демо (лучше, конечно, с админкой, в которой можно просматривать новые записи в БД)?

Link to post
Share on other sites

А за счет чего "забивается куки очень быстро"?

"модуль комплектов, избранных товаров и товаров для сравнения" - хранится лишь ID товаров

4Кб - можно записать в куки порядка 1000 ID товаров.

Неужто у Вас такие посетители, что у них в корзине, избранном и  сравнении  - сотни(!) товаров?

В сравнении - вообще обычно ставятся ограничения в 5-10 товаров...

 

Можно ли увидеть демо (лучше, конечно, с админкой, в которой можно просматривать новые записи в БД)?

Я не отрицаю, можно использовать cookie, некоторые так и делают.

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

Можно конечно обойти массив $_SESSION циклом и загнать все данные в куки, но тут может случится переполнение кукисов...

Самый лучший способ этой использовать БД для хранения данных сессий + есть возможность отследить кто/где и когда был из посетителей/покупателей.

 

Так же, в планах в ближайшие дни доработать модуль, чтобы он не зависел от вкл/выкл кукисов в броузере, для этого придется делать привязку: IP + USERAGENT;

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...