在页面加载时删除会话

时间:2015-06-26 13:00:35

标签: php session

我有一个我创建的结账系统。每当有人提交订单时,我会将他们带到另一页,感谢他们的订单,并简要介绍他们的订单。它被称为orderconfirmation.php。在该页面中,我有一个未设置的会话脚本,用于停止购物车会话。唯一的问题是,会话不会在页面加载时停止。我可以告诉,因为我在每个页面上的购物车数量计数器仍然显示购物车中的商品。他们必须离开该页面才能让未设置的脚本离开。在有人为他们的订单付款并仍然看到它之后,他们变得有点困惑,所以当页面进入orderconfirmation.php页面时,我需要购物车会话结束。

这是我在orderconfirmation.php页面上的代码,用于取消设置会话:

//Initialize shopping cart session
if(!isset($_SESSION['shopping_cart'])) {
    $_SESSION['shopping_cart'] = array();
}
// Empty cart
            unset($_SESSION['shopping_cart']);

在加载此页面时,我可以采用另一种方法来取消设置会话吗?

购物车数量计数器

//Shopping Cart Quantity Count

    if(isset($_SESSION['shopping_cart']) && is_array($_SESSION['shopping_cart'])) {
    $totalquantity = 0;
    foreach($_SESSION['shopping_cart'] AS $product) {
        $totalquantity = $totalquantity + $product['quantity'];
    }
  }
  else {
       $totalquantity = 0;
  }

1 个答案:

答案 0 :(得分:0)

在orderconfirmation页面上,如果您依赖会话变量content来从数据库中获取orderdetails数据。那么你不能在页面加载时取消设置变量。但如果您在订单确认页面上不需要它,那么您应该在重定向到此订单确认页面之前的最后一页上取消设置它。