簡體   English   中英

將購物車項目存儲到Cookie和數據庫中

[英]Storing shopping cart items into cookies and database

我正在一個電子商務網站上。 當用戶未登錄我的網站並單擊“立即購買”按鈕時,我想將此信息存儲到cookie以及數據庫中。 購物車的表看起來像

SHOPPING_CART 
(
     sessionid   int(10), 
     itemid      int(10), 
     quantity    tinyint(10) unsigned
     date_added  datetime
);

主鍵是: (sessionid, itemid)

當用戶關閉瀏覽器時,也應保留購物車項目。 現在我的問題是:

  1. 當用戶未登錄我的網站時,我應根據什么身份識別用戶?
  2. 我應該使用IP address存儲信息嗎? 如果是,那怎么辦? 在這種情況下,上述表格中的sessionid將是用戶的IP地址。 對?
  3. 我應該為訪問我的網站的每個用戶創建一個臨時會話,然后存儲信息嗎? 如果是,那怎么辦?
  4. 即使用戶關閉瀏覽器窗口,如何保存購物車商品? 我應該從數據庫還是cookie中檢索?
  5. 還有其他更好的方法來存儲和檢索信息嗎?

注意1 :我可以使用許多可用的購物車軟件/代碼/庫。 但我想知道: 如何識別用戶? 以及存儲/檢索數據。

注意2 :每個項目的價格,訂購,運輸信息都存儲在不同的表中。

  1. 您所能做的就是為用戶創建一個唯一的偽造身份
  2. 否。多個用戶可能具有相同的IP地址,並且一個用戶可以更改其IP地址
  3. 是。 當您要求啟動會話時,PHP將為您創建一個會話。 您必須將身份與此會話關聯。 只需使用隨機數或UUID生成器,或類似的東西即可生成唯一且不容易猜測的內容。 然后將身份存儲在cookie中,以便用戶稍后再回來時,可以將其身份與新會話重新關聯。
  4. 我只是將身份存儲在cookie中。 Cookie僅包含少量信息,用戶可能會在不知情的情況下對其進行修改。
  5. 如果用戶未登錄,則看不到其他任何方式。

唯一要做的就是將sessionid設置為client-cookie。 如果客戶返回並出示sessionid cookie,則您用他的新sessionid更新購物車表(並在cookie中設置新的sessionid)。

  1. 會話(這就是它的目的)
  2. 沒有
  3. “臨時會議”?
  4. 購物車在數據庫中
  5. 在什么意義上更好? 安全? 強大的? 方便使用的?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM