我需要有关如何使购物车到期的帮助
假设我们在电子商务网站上有购物车,并且用户将产品添加到他的购物车,问题是从库存中我们应该减少该产品的数量,因为它是由用户持有的。
我们的想法是,当计时器到期时,我们会在购物车中实施计时器,用户不再持有该产品。
我的问题是:
希望我的解释清楚。 谢谢你的时间。
答案 0 :(得分:1)
使用会话的一个示例,不要忘记在浏览器关闭时会话将过期。如果您想要更持久的数据存储,请使用cookie或localStorage。
<?php
/* Constants */
define('EXPIRATION_TIME', 30); // minutes
/* Dummy variables */
$productAdded = true;
/* Start session */
session_start();
/* Check timer */
if (isset($_SESSION['timer']) && $_SESSION['timer'] < time()) {
/*
30 min have gone by and the user has not added more products
to the cart, lets empty the cart and reset the timer
*/
unset($_SESSION['cart']);
unset($_SESSION['timer']);
}
/* Add product */
if ($productAdded) {
/* Increase timer */
$_SESSION['timer'] = (time() + (EXPIRATION_TIME * 60));
/* Add product to cart, and all other tasks */
if (!isset($_SESSION['cart']))
$_SESSION['cart'] = array();
$_SESSION['cart'][] = array(
'id' => 17,
'name' => 'Fancy shampoo',
'quantity' => 1337
);
}
?>