簡體   English   中英

如何使用cookie存儲購物車內容?

[英]How do I use cookies to store shopping cart content?

所以我通過php include方法將這個小小的購物車包含在我網站的每個頁面中。

購物車的結構如下所示:

<div class="shopping_cart">
<h4 class="sc_title">Shopping cart</h4>
<form action="../scripts/sc_order.php" method="post">
    <div class="sc_content">
        <div class="product">Product 1</div>
        <div class="product">Product 3</div>
        <div class="product">Product 5</div>
    </div>
    <input type="submit" value="Submit order" />
    <div class="sc_button">Clear cart</div>
</form>

但是當我從一個頁面轉到另一個頁面時,從一個頁面添加的產品在進入新頁面時會從購物車中消失。

如何使用cookie記住購物車內容?

將$ _POST / $ _ GET數據添加到購物車數組中。

$cart = [];

如果您移動到新頁面,則序列化購物車數組並添加到setcookie()函數。 這樣做可以在一個cookie下的購物車中放置多個商品。

setcookie('cart', 'serialize($cart)', time() + 60*100000, '/'); 

然后,您可以使用cookie上的unserialize()訪問購物車數組。

$newarray = unserialize($_COOKIE['cart']);

然后,您可以在購買完成后使cookie過期。

setcookie('cart', 'serialize($cart)', time() - 60*100000, '/');

正如@Marc B所說,如果您只希望用戶在該瀏覽器會話期間保存購物車,則可能值得查看會話,但這取決於您。 只需確保您不保存任何密碼或安全信息,因為它們很容易被客戶端訪問。

我還建議您查看此處未解釋的其他參數。

http://php.net/manual/en/features.cookies.php

閱讀$ _SESSION超全球: http//php.net/manual/en/reserved.variables.session.php是個好主意。

您還可以嘗試HTML5 localstorage: https//developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage

在結帳過程之前,您沒有用戶ID。 因此,您需要使用Session或Session和Cookie的組合來處理此問題。 一旦用戶登陸您的網頁,您就會有一個會話值存儲。 在Cookies中寫入會話值/ ID。 現在您的密鑰是會話,將Cookies寫為數組,它將是這樣的: SID,Cart_id,last_update,Item_added等等。因此,從任何頁面,您可以保持更新用戶購物車。 Checkout完成后,您可能會要求用戶登錄或注冊。 所以在這個階段你有用戶名。 在表格中插入以Cookies編寫的數組。 這是一個簡單的管理過程。 此過程還簡化了您的庫存,庫存管理和報告。

暫無
暫無

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

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