Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果选择了不同的餐厅,则清除购物车_Php_Cart - Fatal编程技术网

Php 如果选择了不同的餐厅,则清除购物车

Php 如果选择了不同的餐厅,则清除购物车,php,cart,Php,Cart,我使用购物车在用户决定购买的会话中存储值。 现在我想用以下方法来处理购物车: 包含项目详细信息的页面的url为http://example.com?id=10 一旦物品被添加到购物车中,那么让我们假设用户更改了餐厅并再次登陆页面,在页面上他可以再次添加物品 a。如果用户选择的餐厅与之前的餐厅不同,则应删除所有项目,就像先前选择的餐厅一样 b。如果餐厅是一样的,那么就保持原样 我正在通过URL中传递的Id检查餐厅 我尝试在第页的会话中存储Id,但如何在同一页上验证餐厅是否相同。下面是我试过的代码

我使用购物车在用户决定购买的会话中存储值。 现在我想用以下方法来处理购物车:

包含项目详细信息的页面的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是否如预期的那样,例如整数,介于最小值和最大值之间等。