- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic

В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пишу интернет магазин. Есть вопрос. Где лучше хранить информацию о корзине юзера, который не авторизирован.
Т.е. заходит гость и набирает товар и она хранится за этим пользователем какое-то время.
Изучаю движек престашоп не могу понять где они хранят эти данные. Предположение, что в сессиях но я не могу найти сессионных файлов и в дб, тоже ничего не ищется.
Подскажите пожалуйста как это правильно реализовывать.
лучше всего на jquery, все сохраняем в куки и при необходимости легко от туда достаем данные
В куках не оч хочется хранить всю инфу
Я думаю в БД отдельная таблица с ID и данными в json а связь с необходимым полем по куке.
Меня в этом варианте интересен следующий момент. Можно ли как-то сделать так, чтобы эта корзина сразу подругажалась в любом браузере, в котором в последующем будет открывать сайт на определенной машине пользователя.
Есть ли какие то константные данные которые едины во всех браузерах установленных на одной машине? Я просто с этим до этого никогда не сталкивался
Есть варианты:
1. куки - легко поставить куку на долгий период - на год, но могут блокироваться браузером
2. сессии в php с хранением в файлах - менее надежно т.к. это временные файлы в папке tmp, если не настраивать, то быстро удаляться, а если настроить долгий период жизни - будет создано слишком много файлов и это может повлиять на производительность.
3. сессии в php с хранением в базе данных - не применял
4. свой решение с хранением в базе данных
Нужно сказать, что все решения базируются на установке куки. Если нужно только хранить строчку из id товаров, то кука - это оптимальный вариант.
Если же нужна аналитика по анонимным посетителям (сколько их, что положили в корзину, как давно были, что еще смотрели) то нужно делать свое решение с использованем базы данных.
Если в cms имеются какие-то системы сбора статистики (недавно просмотренные товары), то можно попробывать их усовершенствовать.
---------- Post added 22-01-2014 at 16:42 ----------
Можно ли как-то сделать так, чтобы эта корзина сразу подругажалась в любом браузере, в котором в последующем будет открывать сайт на определенной машине пользователя.
Есть ли какие то константные данные которые едины во всех браузерах установленных на одной машине? Я просто с этим до этого никогда не сталкивался
К сожалению, такой возможности нет.
Есть варианты:
1. куки - легко поставить куку на долгий период - на год, но могут блокироваться браузером
2. сессии в php с хранением в файлах - менее надежно т.к. это временные файлы в папке tmp, если не настраивать, то быстро удаляться, а если настроить долгий период жизни - будет создано слишком много файлов и это может повлиять на производительность.
3. сессии в php с хранением в базе данных - не применял
4. свой решение с хранением в базе данных
Нужно сказать, что все решения базируются на установке куки. Если нужно только хранить строчку из id товаров, то кука - это оптимальный вариант.
Если же нужна аналитика по анонимным посетителям (сколько их, что положили в корзину, как давно были, что еще смотрели) то нужно делать свое решение с использованем базы данных.
Если в cms имеются какие-то системы сбора статистики (недавно просмотренные товары), то можно попробывать их усовершенствовать.
---------- Post added 22-01-2014 at 16:42 ----------
К сожалению, такой возможности нет.
Спс большое за инфу) А вот с кукой ид как лучше делать
Предположим я назову куку user_id , что лучше шифровать для ее значения?
предположим у меня в базе корзина будет под ид 5
Как лучше делать привязку куки к этому ид? user_id = 5 явно не стоит делать =) Или лучше изначатьно к бд обращаться по некоторому индификатору уже созданному заранее.
Т.е. для примера md5(time()) - это значение добавить и в куку и в бд как индификатор
Ну почему же, нормальное решение.
5 - это связь между браузером и номером корзины в таблице.
Каждому следующему посетителю без куки user_id при добавлении в корзину ставьте куку user_id=6 (7,8...)
Если вам психологически будет удобнее - начните не с 5, а произвольного большого числа.
--
Я так понял, вас интерисует вопрос безопасности.
Стараюсь не усложнять систему, md5(time()) как идентификатор не лучше простой цифры, но добавляет доп. затраты на хранение в базе и лишние вычисления.
Раскрытия важной информации тут не усматриваю, даже более, для защиты от sql иньекции сделать intval для входного параметра удобнее и безопаснее, чем проверить валидность текстовой строки (md5).
Т.е. для примера md5(time()) - это значение добавить и в куку и в бд как индификатор
Пытаетесь изобрести велосипед.. Рекомендую прочитать про сессии.. http://www.php.net/manual/en/book.session.php
И отдельно - про http://www.php.net/manual/en/function.session-set-save-handler.php
Я в своем самописном шопе сделал куку в виде абракатабры сроком на пол года, которую не угадать и хранение прочих данных (адрес, заказанные товары и т.п.) в мемкешеде.
Можно ли как-то сделать так, чтобы эта корзина сразу подругажалась в любом браузере, в котором в последующем будет открывать сайт на определенной машине пользователя.
В принципе можно, погугли "flash cookies"
Пытаетесь изобрести велосипед.. Рекомендую прочитать про сессии.. http://www.php.net/manual/en/book.session.php
И отдельно - про http://www.php.net/manual/en/function.session-set-save-handler.php
мне в сессиях не нравится то что они трутся. увеличивать срок жизни тоже не хочу. т.к. был случай когда произошел какой то сбой и потом у меня этих сессий скопилось порядка 100 000 файлов в папке с сессиями. по поводу функции спасибо. полезная вещь
Сессии самый простой и надёжный вариант. Где, как и какое время их хранить вы можете сами решать, PHP это позволяет. Да и не понятно зачем нужно хранить информацию о товарах в корзине хранить неограниченное время? Если пользователь решил что то купить, то он оформит заказ сразу либо в течении нескольких дней.