Php 如果选择了不同的餐厅,则清除购物车
我使用购物车在用户决定购买的会话中存储值。 现在我想用以下方法来处理购物车: 包含项目详细信息的页面的url为http://example.com?id=10 一旦物品被添加到购物车中,那么让我们假设用户更改了餐厅并再次登陆页面,在页面上他可以再次添加物品 a。如果用户选择的餐厅与之前的餐厅不同,则应删除所有项目,就像先前选择的餐厅一样 b。如果餐厅是一样的,那么就保持原样 我正在通过URL中传递的Id检查餐厅 我尝试在第页的会话中存储Id,但如何在同一页上验证餐厅是否相同。下面是我试过的代码Php 如果选择了不同的餐厅,则清除购物车,php,cart,Php,Cart,我使用购物车在用户决定购买的会话中存储值。 现在我想用以下方法来处理购物车: 包含项目详细信息的页面的url为http://example.com?id=10 一旦物品被添加到购物车中,那么让我们假设用户更改了餐厅并再次登陆页面,在页面上他可以再次添加物品 a。如果用户选择的餐厅与之前的餐厅不同,则应删除所有项目,就像先前选择的餐厅一样 b。如果餐厅是一样的,那么就保持原样 我正在通过URL中传递的Id检查餐厅 我尝试在第页的会话中存储Id,但如何在同一页上验证餐厅是否相同。下面是我试过的代码
$_SESSION['res_in_se'] = $_GET['id'] ;
if($_SESSION['res_in_se'] != $_GET['id']){
$cart->empty_cart();
}
您可以通过以下方法获得结果:首先检查会话是否为空,比如用户第一次选择餐厅,然后将会话值设置为餐厅id。下次,仅当用户选择的餐厅与上一家不同时,才需要重置会话值。 您的代码将是:
if(empty($_SESSION['res_in_se']) && isset($_GET['id'])) {
$_SESSION['res_in_se'] = $_GET['id'] ;
}
else
if($_SESSION['res_in_se'] != $_GET['id']){
$cart->empty_cart();
$_SESSION['res_in_se'] = $_GET['id'] ;
}
您应该检查id是否如预期的那样,例如整数,介于最小值和最大值之间等。