Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как хранить товары в корзине? 
:(
    Опции темы
Jiffi
Дата 27.5.2011, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 2.6.2006

Репутация: нет
Всего: нет



У меня только одно соображение - в cookies, но возникает вопрос, как хранить там несколько товаров?
PM MAIL   Вверх
ayax2005
Дата 27.5.2011, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



Корзина обычно хранится в сессии.


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
Jiffi
Дата 27.5.2011, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 2.6.2006

Репутация: нет
Всего: нет



А если пользователь не сразу хочет оформить заказ, а потом?
PM MAIL   Вверх
wwwalera
Дата 27.5.2011, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 1.1.2009

Репутация: нет
Всего: нет



Цитата(Jiffi @ 27.5.2011,  14:30)
А если пользователь не сразу хочет оформить заказ, а потом?

новую таблицу в бд и напоминание в следующих сессиях

Это сообщение отредактировал(а) wwwalera - 27.5.2011, 21:43
PM MAIL   Вверх
Valinur
Дата 27.5.2011, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 21.9.2007
Где: Москва

Репутация: 4
Всего: 6



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

select * from product where id IN('тут список id товаров в корзине')

--------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ...
PM MAIL   Вверх
Jiffi
Дата 28.5.2011, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 2.6.2006

Репутация: нет
Всего: нет



а как тогда напомнить пользователю, что он выбрал в прошлый раз, ели сессию он разорвал?
PM MAIL   Вверх
wwwalera
Дата 28.5.2011, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 1.1.2009

Репутация: нет
Всего: нет



Цитата(Jiffi @ 28.5.2011,  00:21)
а как тогда напомнить пользователю, что он выбрал в прошлый раз, ели сессию он разорвал?

ну обычно при совершении покупок с корзины ,а не через оператора, пользователь авторизируется 
PM MAIL   Вверх
skyboy
Дата 29.5.2011, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



подытожу:
1. чисто список в куках. недостатком привязка к компьютеру и технические ограничения(сколько там в куку можно запихнуть?). достоинство - может хранится бесконечно в отличие от сесионной информации.
2. в сессии. так как идентификатор сессии по-прежнему в куках, то привязка к компьютеру остается. плюс через определенное время неактивности сборщик мусора кокнет сессию. что тоже минус.
3. в базе данных. минусом - обязательность регистрации(а к чему ещё привязываться, кроме логина и пароля? к сессии, которая истечет? к кукам, которые только на одном компьютере?). плюсом - на любом компе можно получиться доступ. плюс статистика на серверной стороне(уж не знаю, для чего).
из того, что встречал вживую и нахожу удобным: гибридная система. регистрация не требуется, корзина хранится в сессии(дополнительная безопасность: если компьютер общественный и человек не завершил оформление заказа, то через, скажем, полчаса другой пользователь уже не узнает, "что ж там Вася заказывал?"). при регистрации содержимое корзины сохраняется в БД и для залогиненных уже работает сохранение в БД. с одной стороны, обязательна возможность заказа без обязательной регистрации, с другой стороны, если уж надумал региться, чтоб не закончилось "#%#$%! Я столько товаров надобавлял, а после регистрации корзина обнулилась!"
PM MAIL   Вверх
Jiffi
Дата 30.5.2011, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 2.6.2006

Репутация: нет
Всего: нет



магазин региональный (масштаб охвата не большой).

Регистрация я думаю лишняя (смысла пока что не вижу).

А если сделать такой гибрид:
В cookies хранить уникальный номер (PIN)
А в БД сделать таблицу: id | pin | id_tovara
И соответственно читать cookies и искать в этой таблице, какой товар лежит в корзине.
Так же можно выдавать этот пин пользователю и он может ввести его на другом компьютере и посмотреть корзину + можно дать возможность удалять cookies и никто не узнает  "что ж там Вася заказывал?"

Идея рабочая?
PM MAIL   Вверх
skyboy
Дата 30.5.2011, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Jiffi @  29.5.2011,  23:45 Найти цитируемый пост)
Так же можно выдавать этот пин пользователю

и кто угодно сможет посмотреть в чужую "корзину"? И адрес доставки тоже увидеть?
а чем отличается этот "пин" от связки "логин+пароль"? 
PM MAIL   Вверх
xarakiry
Дата 30.5.2011, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



Зачем же засорять базу информацией, которая вообще может и не понадобиться.

Я делаю на сессиях. К примеру у нас 3 товара с id 1,2 и 3

Бросаем в сессию

Код

$_SESSION['prod']['1']
$_SESSION['prod']['2']
$_SESSION['prod']['3']


если нужно еще и хранить сумму и количество и какие либо другие параметры товара, то многомерный массив помогает

Код

$_SESSION['prod']['1']['count']=2
$_SESSION['prod']['1']['price']=5.45


и т.д

А потом легко просто получить и общую стоимость товара и количество заказанных.
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1241 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.