購物車實現購物的原理

若是瞭解一下大型網站的購物車怎樣作的如下能夠爲你提供簡單的思路:mysql

 當用戶進行購物時他有多是本商電的會員或遊客(非會員);所以得出兩種方案:sql

方案一:(會員)數據庫

  用戶進行購物時他是咱們本商店的會員(數據庫中存在該用戶的數據),當用戶添加商品到購物車的時候咱們能夠分爲兩種方法;瀏覽器

  方法一,cookie

    當用戶購買商品添加到購物車時沒有進行登錄,若是咱們用session來保存用戶的數據那麼咱們就要考慮到這種狀況,一旦用戶關閉瀏覽器那麼以前所保存的數據就會丟失,所以採用cookie來保存數據。當用戶點擊結帳時,對用戶進行登錄驗證,而後判斷cookie是否存在購買商品的信息。若是存在,就將cookie中的數據保存到mysql中,而後清空cookie信息,最後結帳成功。session

  方法二網站

    用戶添加商品到購物車的時候必須進行登錄驗證,而後才能將購買的商品直接保存在數據庫,可是你有沒有想過用戶添加到購物車的商品,他不必定購買,所以咱們額外增長了維護成本,但好處是用戶能在什麼時候何地均可以看到本身的購物信息。記住方式作任何電商網站,都要從用戶的角度考慮。io

對比發現,第一種方法比較人性化,用戶體驗比較好,所以大多數主流電商網站都是採用第一種方法。電商

方案二:(非會員)後臺

  就是說你購物的時候你有可能不是本網站的會員,但你又想購買商品,那麼咱們會給你提供一個特殊的賬號(遊客)具體實現思路以下:當用戶購買經過cookie保存,結帳的時候用戶又不想註冊,咱們經過獲取他的手機號碼和地址,而後後臺自動生成一個普通用戶,將數據保存在數據庫中並清除cookie。

以上兩種方案都是咱們平常在購物網站上常常遇到的,所以咱們寫購物車代碼的時候必定要有一個清晰的思路,否則用戶體驗方面會大打折扣。