我目前正在制作一个会话购物车,在这个购物车中,我可以添加和删除每个产品下面的链接。如果您喜欢可视化的话,可以在这里查看它: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。见下面:
<?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']
编辑:我发现了问题,我忘了加A?,所以$_GET不知道它是一个参数
发布于 2016-03-01 12:41:35
你的剧本起作用了。我将您的代码复制到我的服务器上的PHP文件中,它正在执行您的期望。我可以在我的“购物车”中添加I。您的会话是否正常工作?有人向你的服务器吐露错误?
发布于 2016-03-01 11:49:05
var_dump在array_push之前和之后的$_SESSION‘’cart‘($_SESSION’‘cart,$id);并检查值。
https://stackoverflow.com/questions/35721538
复制相似问题