【问题标题】:Value not updated after posted data发布数据后未更新值
【发布时间】:2016-08-22 12:58:13
【问题描述】:

我有一个包含产品的会话。新产品通过 a href 作为帖子添加到会话(这是一个数组)中,如下所示:

<a class="offertelink" href="offerte.php?product='.$productcr[0]['id'].'">Request a quote</a>

在我的页面顶部,我有一个篮子,它计算数组并​​显示会话中有多少产品。但是当我添加一个产品时,顶部的篮子显示我的空消息'你没有添加的产品',只有刷新后才有 1 个产品。这是为什么呢?

我的代码: (我上面发布的链接在产品列表上) 整个页面位于ob_start();ob_flush(); 之间,因此我可以在标头发送后使用标头位置重定向(可能与此有关?)。

quote.php:

ob_start();
include 'includes/header.php';
if(!isset($_SESSION['product'])){
    $_SESSION['product'] = array();
}

// Check if $_GET['product'] is is set
if(isset($_GET['product']) && !in_array($_GET['product'], $_SESSION['product'])){
    $_SESSION['product'][] = $_GET['product'];
}

包含在此页面上的是标题(包含在每个页面上),其中包含以下篮子代码:

<li class="dropdown"><a href="offerte.php"><i class="fa fa-file-text-o"></i> Quote</a>
    <ul class="dropdown-menu">
        <li>
            <div class="offertemand">
            <?
            if(count($_SESSION['product']) == 0){
                echo '<span style="padding:8px;">No products added</span>';
            }else{
                $aantal = count($_SESSION['product']);
                echo '<a class="offerteitem" href="offerte.php"><span class="aantal">'.$aantal.'</span></a>';
                echo '<a style="font-size:13px;" href="offerte.php">Go to quote page</a>';
            }
            ?>
            </div>
        </li>
    </ul>
</li>

因此,当产品被添加到会话中并且用户被重定向到报价页面时,我必须刷新页面才能在购物篮中看到任何产品。虽然我添加的产品在我的报价页面的产品列表中可见。

【问题讨论】:

  • 你开始会话了吗?
  • @user1844933 是的,session_start() 在我的连接文件的顶部,在我的 header.php 的顶部
  • 在您将产品添加到会话后,您可能正在生成购物篮 html 内容?

标签: php session


【解决方案1】:

header.php 中是否包含第三个代码(篮子)?

如果是这样,您必须在包含header.php(或任何其他需要$_SESSION['product'] 的代码)之前将product 添加到$_SESSION

if(!isset($_SESSION['product'])){
    $_SESSION['product'] = array();
}

// Check if $_GET['product'] is is set
if(isset($_GET['product']) && !in_array($_GET['product'], $_SESSION['product'])){
    $_SESSION['product'][] = $_GET['product'];
}
include 'includes/header.php';

【讨论】:

    猜你喜欢
    • 2015-12-25
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多