2016-10-02 77 views
0

我想要顯示來自不同用戶會話的不同購物車。以下是詳細信息:如何顯示來自不同用戶/用戶會話的不同購物車?

  • 顧客可以在購物車,即使他/她是不是又或其他文字記錄沒有用戶會話添加項目(S)($ _SESSION [「用戶」])是組。
  • 如果設置了用戶會話 ($ _SESSION ['User']),將顯示送貨明細表。如果客戶需要快速購物並填寫運送詳情,則客戶可以單擊按鈕繼續快速購物,而無需登錄。我可以使用以下此變量自行完成此操作,以在客戶按下「繼續」按鈕後創建用戶會話:

$ _SESSION ['User'] = session_id();

我知道上面的變量創建一個隨機的用戶ID來設置用戶會話。客戶點擊「繼續」按鈕後,系統將自動創建用戶會話,以便顯示送貨明細表。

但是,如果我想要刪除購物車的會話,如果他/她已登錄?這裏有幾點我知道:

  • 如果用戶登錄,$ _SESSION ['用戶']值是客戶的用戶名。

  • 但是,如果用戶沒有登錄,但有用戶會話中,$ _SESSION [「用戶」]值是一個隨機字符串(因爲我用

  • (點擊「繼續」按鈕後)

SESSION_ID()生成隨機字符串來創建用戶會話

功能)

的一點是,如何從用戶本身刪除車會話ssion(使用隨機會話ID)如果用戶登錄?

**換句話說:** 如何顯示來自不同用戶會話的不同購物車?

謝謝。

PS:對不起,我的英文不好,我的句子,讓你感到困惑

+0

爲什麼混合購物車和用戶會話?保持購物車爲自己的東西:'$ _SESSION ['cart] = array(// ... items ...)'。這樣,您可以根據需要更改用戶會話,而不會影響購物車。 –

回答

0

$_SESSION變量可以用來存儲產品,即使用戶沒有登錄

所以,你可以通過創建啓動一個數組來存儲項目在購物車:

session_start(); 
if(!isset($_SESSION['cart'])){ 
    $_SESSION['cart'] = []; 
} 

空數組現在已經創建,用於存儲你把它的任何產品。您保存在使用產品標識,從數據庫中的購物車產品:

$_SESSION['cart'][] = 5; // insert the product with id 5 

當你想簽出購物車,你可以使用$_SESSION['cart']訪問客戶的車,並檢索有關使用位於車的IDS產品的信息。

希望這會有所幫助。