Почему использование сеанса не лучший способ сделать это? Я бы сказал, что это так.
У вас может быть отдельная, основанная на сеансе структура корзины покупок без входа в систему, точная копия обычной корзины. Если пользователь не вошел в систему, продукты хранятся там.
Когда пользователь входит в систему, вы объединяете содержимое корзины, не вошедшей в систему, с любыми элементами, которые пользователь может уже иметь в своей пользовательской корзине.
Эта точка также является местом для разрешения любых конфликтов, которые могут возникнуть при выборе продукта (например, выбранный продукт уже присутствует в корзине пользователя, вошедшего в систему).
Использование файлов cookie, рекомендованных @Codemwnci, либо для хранения продуктов, либо для идентификатора корзины, также является хорошей идеей, поскольку это позволяет пользователю вернуться позже и по-прежнему иметь содержимое своей корзины, что вам может понадобиться.
Тот же принцип слияния будет применяться и здесь, с дополнительной проверкой того, действительно ли продукты в файле cookie являются действительными (они могли быть удалены после того, как пользователь сделал свой выбор, или пользователь мог изменить файл cookie).
person
Pekka
schedule
08.05.2011