简体   繁体   中英

Php cart: how to store product information in cart

I want to make implement Cart funcionality in Laravel. I chose this plugin . But here and in many others cart packages I see that cart row stores not a product id but full information (product name, options, price). But what if the product title or product price was changed? Then the user still sees the old title (price) and it will cause some inconvienences to him. What I do not understand, why most cart packages store full information in cart row.

So what is the right way to store cart data: full info or by keys (product_id, option_id, ...)?

There is a preferred way to store cart information, and its the latter that you mentioned.

The reason for this is to not only increase the security of your shopping cart, but to also ensure that, as you rightly pointed out, customers are getting the right price, even after a change.

Typically what you want to do is store the product ID, any customisation options as well as a cart ID. Depending on the amount of products and the traffic you're receiving it may be unnecessary to work out the basket price each time a new page is loaded, and so typically you only work out a new price when a new product is added, taken away or modified; in addition to when the customer gets to the checkout area.

This serves several purposes,

  • the first is that is ensure that when the cart is directly changed by a customer action, you can show an updated price.
  • The second is that you cut down the amount of calculations you have to do by a large amount by only changing the prices in the basket when something acts upon it.
  • You can ensure that customers cannot cheat the system by modifying the price, then going on to pay a different amount because you stored the price in the session.

I can't give you a more concrete answer because you've been fairly light on the specifics, but I hope this indicates the direction you should be heading in.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM