我目前正在制作会话购物车,我可以添加和删除每个产品下面都有链接的产品。如果您希望它可视化,可以在此处查看:http://www.bgc-testomgeving.nl/sem
无论如何,当我点击产品的链接时,除了URL更改之外似乎没有任何事情发生,但是$_SESSION['cart']
的添加似乎没有发生。
这是将每个产品添加到购物车下方的链接代码:echo '<a href="action=add&id=' .$id. '">Voeg toe </a>';
来自WordPress查询的$id
:$id = get_the_ID();
。然而,这部分是有效的,因为我认为<a>
的网址是正确的。
在这里,我检查是否已经有$_SESSION['cart']
活动,如果不是,我会创建一个。另外,我检查项目ID是否已经在cart
,如果没有,我会执行array_push()
,如果是,我会使用未设置。见下面:
<?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中的以下代码一起使用:
<?php print "Test session number: ";
echo session_id();
echo '<br>';
echo serialize($_SESSION['cart']);
?>
所以我的问题是,为什么$id
没有被推到$_SESSION['cart']
答案 0 :(得分:3)
你的脚本正在运行。 我将您的代码复制到我的服务器上的PHP文件中,它正在按照您的期望进行。 我可以在我的&#34;购物车&#34;中添加ID。 你的会话是否正常工作? 您的服务器上有一些错误的配置?
答案 1 :(得分:0)
在array_push($ _ SESSION [&#39; cart&#39;],$ id)之前和之后var_dump $ _SESSION [&#39; cart&#39;];并检查值。