2015-06-06 25 views
0

好吧,所以我的網站就像「發佈您的訂單」,而不是通常的在線支付方式,因爲我將首先發運商品,然後是這裏的貨運服務提供的貨到付款現金。如何存儲客人結帳?

我有一個用戶表,有 USER_ID,電子郵件,密碼,姓和名等

具有 ORDER_ID,user_id_fk,ORDER_STATUS,order_placed,address_id_fk的user_order表

的ORDER_ITEMS表具有 ORDER_ITEM_ID,order_id_fk,PRODUCT_ID,數量,size_id_fk

地址表 ADDRESS_ID,user_id_fk,街道,城市,省等

因此,如果用戶註冊可以很容易地做到這一點,因爲我只想鏈接他們的USER_ID到user_order表,並從他們的address_book

我的問題是地址,我如何做,與客人結賬?我試圖避免他們被迫註冊,即使它很容易。

現在我想到的只是將它們插入到用戶表中,但是它們的密碼爲NULL,只需創建一個來賓組並將其放入該組。

但是這可能會導致問題,我的用戶表中的電子郵件必須是唯一的,來賓結帳可能會從同一封電子郵件中發生多次噓......現在是什麼?

我應該只是將列添加到訂單表?另一個,姓名,電子郵件地址?所以它不綁定到用戶?這是可能的,但有一個功能,我希望註冊用戶有...跟蹤他們的訂單歷史記錄。

請幫忙......謝謝:D;)

回答

2

我「德魯皮爾斯」,而是來自對方同意給你另一種選擇

第一你應該瞭解電子商務平臺(例如Opencart的),他們是如何推動這個東西。

第二你不需要給每個客人添加到用戶表如下:

客人沒有任何權利查看訂單或歷史...等

2-電子郵件字段必須在結帳時強制性的,並且有通知電子郵件也會發送給他(也許你會添加確認電子郵件..由你決定)。

3-所有你需要在你的數據庫保存的是順序表中的順序細節

4-你和客戶之間的過程將通過他的電子郵件

他沒有正確的跟蹤任何命令或看到他的活動,直到他成爲一名真正的用戶

6-爲了細節必須始終關於用戶的所有細節,即使他是真實的用戶(它將被複製爲真實用戶的數據,但用戶可以隨時更改他的電子郵件或電話號碼,他不能爲舊的訂單執行它,所以你總是知道訂單的真正的歷史)

7在用戶表,只有一個guest用戶,但是在訂單表中有很多訂單,每個訂單都有其詳細信息,電子郵件,電話號碼,,, etc

+0

但是,作爲管理員,我還想跟蹤包括他們詳細信息在內的所有訂單。這是使其變得複雜的原因之一 – xxRockOnxx

+0

而且我也需要他們的詳細信息,所以我會知道在哪裏以及向誰發貨 – xxRockOnxx

+1

6 ....數字6 ......就是這樣!我會嘗試那個!我只是認爲這是多餘的。謝謝!最後,有人證實了我的疑惑!謝謝! – xxRockOnxx

2

最主要的是賺錢。如果他們想留下一個客人讓他們。提醒他們只有註冊的用戶才能獲得促銷活動並查看以前的活動。以前的活動,而不是註冊用戶將不會在稍後看到。

假設他們有10個來自該電子郵件地址的訂單。那麼怎麼樣,把他們作爲新用戶每個時間,並把他們的電子郵件地址在那裏。將該用戶標記爲客人。因此爲[email protected]提供了10位新的訪客類型用戶。沒有電子郵件出去。畢竟,人們可能使用一些可憐的奶奶的電子郵件地址欺騙系統。

現在他們想成爲註冊用戶。電子郵件發送,他們必須點擊它成爲一個用戶(電子郵件鏈接)。

現在第11次購買來自注冊用戶([email protected])。訂單歷史記錄:1個訂單。

似乎對我來說是海峽前進。

+0

感謝您的快速響應,這正是我一直在想的,我只是嘗試一下。如果發現任何故障,我會回來 – xxRockOnxx

+0

我經常想訂購一些沒有註冊麻煩的東西。我遲到了出門或不想要電子郵件(確認訂單#會很好:>),所以我不下訂單因爲我只是想得到它並繼續前進。如果我不能分割 – Drew

+0

好吧,現在我發現這個問題,當註冊系統查找電子郵件時,如果它在那裏意味着它正在使用中,並且會顯示錯誤,表明它已經在使用 – xxRockOnxx

0

我會建議按照您的想法做,只需添加用戶並添加一列'guests' int(1)如果用戶是來賓,則此值設置爲1,如果不是,則爲0

然後,只需將密碼設置爲空字符串。

+0

查看評論i張貼在@德魯皮爾斯。當有人最終決定註冊該電子郵件時,我會遇到電子郵件不唯一的問題 – xxRockOnxx

1

由於可用性的原因,你可能實際上想要用戶能夠看到過去的訂單與他們的電子郵件地址。結算電子郵件字段回答了「您授權查看此訂單的對象?」這個問題。通過這種方式,[email protected]可以下幾個訂單,然後一旦她實際註冊(通過更改密碼),作爲訪客的過去訂單將在那裏供她跟蹤。因此,嘗試這種流動,有時也被稱爲shadow profile模式:

  1. Word中的客人結帳頁面,使之清楚,結算電子郵件地址的合法擁有者將能看到所有的訂單放在使用該網站上地址。
  2. 如果地址不存在於您的users表中,請使用零密碼哈希和空值confirmed_on日期創建該帳戶。
  3. 此步驟根據您是否希望訪客能夠使用註冊用戶的電子郵件地址進行更改。
    • 如果是這樣,請將is_guest列添加到user_order
    • 如果不是,並且如果confirmed_on不爲空,則要求用戶登錄。這意味着confirmed_on之前的所有訂單都是訪客訂單,並且之後的所有訂單都是登錄訂單。
  4. 向客人發送包含密碼重置鏈接的電子郵件收據。確保使用正確的SPF和DKIM記錄。用類似這樣的標籤鏈接:

    註冊以使用$ store_name管理您的訂單。

    在極少數情況下,您可能會被列爲您未投放訂單的結算聯繫人。如果是這樣,請點擊此鏈接取消訂單。

  5. 當用戶第一次如下一份電子郵件密碼重置鏈接,設置confirmed_on日期。

  6. 在登錄用戶的訂單歷史報告中,將每個訂單明確標記爲客人或註冊。

如果有人誰不是[email protected]做客順序進入[email protected][email protected]真正的主人將獲得電子郵件回執,從而有機會取消。

另一種方法是將訂單與會話而不是用戶相關聯。您可能已經創建了一個隨機會話ID(並將其存儲在cookie中)以區分客人的購物車與其他客人的購物車。因此,將您的user_order表中的user_id_fk更改爲session_id_fk。然後將會話ID鏈接到您已使用的user_session表中的用戶ID。

+0

這是我看到它的問題。奶奶@布拉下了訂單。她必須擁有它。在系統中沒有奶奶@等等。在技​​術上,科技讓她感到困惑。未註冊。之後還有其他幾個命令作爲grandma @ blah。也許是奶奶,或者是TheBigBad的狼。那麼真正的奶奶@布拉與爺爺坐在一起,在他們「登記」之後點更多的蠟燭。爺爺說:「這些性玩具的訂單是什麼?」。由於沒有分離或知道誰是誰,所以你被搞砸了。對於會話,請打擾 – Drew

+0

,奶奶說我的瀏覽器在哪裏,哦,在這裏,這是狐狸的事情,還是它是IE的東西(或可能在另一臺電腦或女兒的房子)。不同的cookie信息。 – Drew

+0

@DrewPierce奶奶會從狼的第一個訂單中獲得電子郵件收據,從而有機會註冊並取消它。我已經擴大了建議的措辭來解決這個問題。 –