首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP使用$_SESSION['cart']数组创建购物列表,但数组保持为空

PHP使用$_SESSION['cart']数组创建购物列表,但数组保持为空
EN

Stack Overflow用户
提问于 2016-03-01 11:21:51
回答 2查看 337关注 0票数 0

我目前正在制作一个会话购物车,在这个购物车中,我可以添加和删除每个产品下面的链接。如果您喜欢可视化的话,可以在这里查看它:http://www.bgc-testomgeving.nl/sem

无论如何,当我单击产品的链接时,除了URL的变化之外,没有任何事情发生,但是添加到$_SESSION['cart']似乎没有发生。

这是每个产品下面链接的代码,以便将其添加到购物车:echo '<a href="action=add&id=' .$id. '">Voeg toe </a>';

使用$id是:来自WordPress查询的$id = get_the_ID();。然而,这一部分的工作是因为<a>的网址是正确的,我认为。

在这里,我检查是否已经有一个$_SESSION['cart']活动,如果没有,我做一个。另外,我检查条目ID是否已经在cart中,如果没有,我执行array_push(),如果是,我使用unset。见下面:

代码语言:javascript
复制
<?php session_start(); 
require("dbconnect.php");
?>
<?php 
     if(!isset($_SESSION['cart'])) {
         $cart = array();
         $_SESSION['cart'] = $cart;
     }  

    if(isset($_GET['action']) && $_GET['action']=="add"){             
        $id=intval($_GET['id']); 
                if(in_array($id, $_SESSION['cart'])){
                    if (($key = array_search($id, $_SESSION['cart'] !== false))){
                        unset($_SESSION['cart'][$key]);
                    }
                }
                else {
        array_push($_SESSION['cart'],$id);          
                }
    } ?> 

我在页面上打印$_SESSION['cart']数组和session_id(),以检查它是否与index.php中的以下代码一起工作:

代码语言:javascript
复制
<?php print "Test session number: "; 
            echo session_id();
            echo '<br>';
            echo serialize($_SESSION['cart']);
            ?>

所以我的问题是,为什么$id不被推到$_SESSION['cart']

编辑:我发现了问题,我忘了加A?,所以$_GET不知道它是一个参数

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-01 12:41:35

你的剧本起作用了。我将您的代码复制到我的服务器上的PHP文件中,它正在执行您的期望。我可以在我的“购物车”中添加I。您的会话是否正常工作?有人向你的服务器吐露错误?

票数 3
EN

Stack Overflow用户

发布于 2016-03-01 11:49:05

var_dump在array_push之前和之后的$_SESSION‘’cart‘($_SESSION’‘cart,$id);并检查值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35721538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档