Корзина покупок

Bosha

Новичок
Корзина покупок

День добрый.

Мне нужно реализовать корзину покупок для анонимных пользователей. Почитал поиск по форуму и прикинул как она должна быть реальзована:

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

Но тут возникает два вопроса.
1. Как хранить корзину в базе правильно. Когда кладется первый товар выделять случ. идентификатор, а потом брать его из куки и дописывать новые строки с его использованием.

Или использовать ОДНУ строку в базе, ее ИД писать в куку и дописывать строку в текстовом формате содержащую ИД товаров вида 1*34*12 и дополнять ее или отнимать от нее.
Это мне кажется сложнее, но понятнее.

2. На корзину у меня ведет ссылки типа: www.magazin.com/chart/2
где chart -название скрипта, а 2 ид товара.
Ведь пользователь может зайти по этой ссылке и образуется новая корзина, или поисковик будет каждый каз создавать ее и вносить в индекс.
Как правильно этого избежать?
 

Romantik

TeaM PHPClub
таблицу корзина ИМХО лучше вести по сессии, используя ее идентификатор PHPSESSID
 

Bosha

Новичок
Я как-то не совсем понял, где его использовать (SID)?

В течении сеанса, да. Но мне бы хотелось, что-бы информация сохраналась несколько дольше.
 

Orlis

Guest
1. Для таких вещей существуют сессии. Хотите хранить в базе, используйте session_set_save_handler().

2. Правильней использовать формы. Например, из 100 разных кнопок submit :). Поисковые машины не нажимают на кнопки.

-~{}~ 06.08.04 18:08:

анонимных пользователей невозможно различать несколько дольше сессии :)
 

Фанат

oncle terrible
Команда форума
1. я бы использовал первый вариант. Только не из куки берем, наверное, а сразу одновременно и в куку пишем, и в базу? :)
2. Orlis правильно сказал - надо кнопку делать. Заодно и окошко для количества пришпандорить можно.

А вот про сессии с куками он прогнал.
В общем, делай так.
идентифицируешь юзера по куке. все правильно - стартовал корзину - поставил куку. а сессия используется только для удобства. кроме куки стартуешь еще и сессию. Тогда у тебя люди без кук смогут товары покупать, и не смогут только корзину между заходами сохранить.
Кстати, это дело можно просекать и метить такие записи в базе на удаление.
 
Сверху