2015-04-04 4 views
1

В настоящее время я работаю над проектом корзины покупок для определенного предмета. Это, как я реализую свою shoppong телегуКорзина (php)

  1. Продукты считываются из файла XML (я не имею много идеи о том, как использовать SQL пока так ...) ж/следующие детали: PRODID , prodName, prodDesc, prodPrice и prodStock

  2. Каждый раз, когда пользователь добавляет товары в свою корзину, соответствующие запасы товаров обновляются в XML-файле.

Другие вещи: Я использую переменную сеанса, $ _SESSION ['items'], которая является тележкой пользователя. Эта переменная сеанса представляет собой массив объектов, Product, который содержит следующее: prodID, prodName, prodPrice, prodQTY (номер, который пользователь хочет). Я не внедряю систему входа здесь, так как это может раздражать пользователей, IMO.

Когда пользователь покупает продукты, которые он добавил в корзину, проблем нет. Однако, когда пользователь отказывается от тележки (через браузер закрывается или что-то еще), запасы указанных предметов не возвращаются в исходное состояние. Есть ли способ, чтобы я отслеживал случай случайности тележки? Или что-то в моей реализации мне нужно изменить?

ответ

2

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

До тех пор, пока они не подтвердят покупку, ни продавец, ни заказчик не заключили контракт, и там, где уровень запасов не должен изменяться.

+0

Но irl, когда вы получаете предмет из полки предметов и, допустим, последний из этого элемента в этой полке товара, другие покупатели больше не могут получить этот предмет от вас (если вы не откажетесь от него или ... другие покупатели получают это от вас силой). Моя точка зрения заключается в том, что после того, как товар добавлен из корзины, запас на полке должен быть вычтен, и если пользователь решает отказаться от корзины или удалить товар из корзины, предметы в тележке вернутся к соответствующим полки. (Если пользователь не совершает, затем откат). – Jerome

+0

Правда. Однако, с точки зрения запаса, магазин не удалял его из своего инвентаря, пока он не прошел проверку. Достаточно предупредить клиентов, что осталось лишь несколько оставшихся на складе. Затем они находятся в гоночном сценарии. – atwright147

+0

Если это так, то вот реализация, которую, я думаю, вы хотите, чтобы я имел: 1. Пользователь добавляет элемент в корзину (скажем, 40 из чего-то). 2. Пользователь переходит к проверке 3. Акция обновляется 4. В случае, если другой пользователь проверяет больше, чем запас, пользователю появится – Jerome