【问题标题】:Dropping a session upon page load在页面加载时删除会话
【发布时间】:2015-06-26 21:29:41
【问题描述】:

我创建了一个结帐系统。每当有人提交订单时,我会将他们带到另一个页面,感谢他们的订单,并简要介绍他们所订购的内容。它被称为 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;
  }

【问题讨论】:

    标签: php session


    【解决方案1】:

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

    【讨论】:

    • 没有其他方法可以从购物车会话中加载数据,然后在会话输出这些数据后终止会话......然后将购物车数量计数器擦除为 0?
    • 您能否将代码提供到购物车数量部分。我认为除了这个未解决的问题之外还有更多内容
    • 我更新了我的问题并添加了购物车数量计数器的代码。
    • 我在一个名为 loadProducts.php 的文件中有该代码,我需要在我网站的每个页面上使用该代码,以便客户可以不断看到他们购物车中的内容。
    猜你喜欢
    • 2018-06-16
    • 2015-11-03
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    相关资源
    最近更新 更多