如果 ID 不同,则清除购物车内容 PHP


Clear cart contents if different ID PHP

我的网站上的商品详情页面上有一个购物车。项目详细信息页面的 URL http://example.com/location/987/name其中 987 是餐厅的 ID,在 htaccess 重写中被视为r_id

现在我想

  1. 如果 URL 中的r_id已更改,请清除购物车。

例:

  1. 用户在购物车中添加了用于 URL http://example.com/location/987/name的商品
  2. 现在,如果用户将ID标记为http://example.com/location/123/name则购物车中的所有内容都将被清除。

我尝试按照以下方法进行操作,但没有运气。即使在相同的URL上,购物车也会被清除。

if(empty($_SESSION['re_in_ss']) && isset($_GET['r_id'])) {
      $_SESSION['re_in_ss'] = $_GET['r_id'];
} 
else if($_SESSION['re_in_ss'] != $_GET['r_id']){
      $cart->empty_cart();
      $_SESSION['re_in_ss'] = $_GET['r_id'] ;
}

我会这样做:

$rid = isset($_GET['r_id']) ? $_GET['r_id'] : null;
if(empty($rid)) die('r_id is missing');
if(!isset($_SESSION['re_in_ss']) || $_SESSION['re_in_ss'] != $rid) {
    $cart->empty_cart();
    $_SESSION['re_in_ss'] = $rid;
}