这是我第一次发布一些关于stackoverflow的东西。我是一个比较新的程序员,喜欢Php,我有这个任务,我必须做一个购物车我的foreach返回警告:非法字符串偏移量'productname'
我很抱歉,如果这是混乱或无法做出。我一直在寻找这些论坛上约2天,我真的不能发现自己一个搜索解决方案
现在我的问题是如下
我从数据库中获取自己的产品数据 - >然后我点击一个产品 - >它进入一个页面,它将productid,productname和price添加到array_push的会话中,然后它返回到与购物车所在的页面相同的页面(购物车与产品线在同一页上)
现在我收到了会议很好,并与var转储我可以看到,数组完全填充即使在foreach。
我想要做的就是分别显示productid/productname/price。
阵列(6){[ “的productid”] =>串(1) “6”[ “产品名”] =>串(11) “solexfiets6”[ “价格”] =>串( 5) “12.99”[0] =>串(1) “5”[1] =>串(11) “solexfiets5”[2] =>串(5) “16.99”}
前面是我正在使用的代码。也许有人在这里可以解释我什么是对
session_start();
if(isset($_SESSION["cart"]) && count($_SESSION["cart"])> 0)
{
echo '<div id="cd-cart">';
echo '<h2>Cart</h2>';
echo '<ul class="cd-cart-items">';
echo '<li>';
foreach($_SESSION['cart'] as $id => $value) {
//var_dump($_SESSION["cart"]); // this var_dump
//echo $id; //
$products = $id;
echo $value["productname"] . '<br/>';
}
echo '</li>';
echo '</ul>';
echo '<div class="cd-cart-total">';
echo '<p>Total <span>$39.96</span></p>';
echo '</div>';
echo '<a href="#0" class="checkout-btn">Checkout</a>';
echo '<p class="cd-go-to-cart"><a href="#0">Go to cart page</a></p>';
echo '</div>';
}
要衷心感谢你的帮助
foreach($_SESSION['cart'] as $id => $value) {
print_r($value); //outputs 6solexfiets612.995solexfiets516.99
(it puts everything in the session in a string)
//var_dump($_SESSION["cart"]);
//echo $id; //
//$products = $id;
//echo $value["productname"] . '<br/>';
}
我我的产品发送到这个页面的方式是通过发送的产品ID,产品名称和价格当有人点击为了add_to_cart.php然后URL做到这一点
<?php
session_start();
if(empty($_SESSION['cart'])){
$_SESSION['cart'] = array();
}
array_push($_SESSION['cart'], $_GET['productid'], $_GET['productname'], $_GET['price']);
?>
<p>Het product is toegevoegd aan uw winkelwagen</p> <a href="../cart.php">Naar winkelwagen</a>
通过所有帮助我收到了,我发现,我在发送数据的错误的方式。有没有更好的方式将产品发送到购物车然后循环播放?
我已经在我的代码做了一个后续问题在这个问题就在这里的所有信息
Sessions/foreach issue with my shopping cart
我给您带来不便
我想我知道问题是什么,但首先,你可以请print_r($ value)在你的循环(你有var_dump )并将输出发布到问题中:) - 当你看到输出时,这甚至可以回答你的问题。 – IaMaCuP
非常感谢您的协助 我已经添加了print_r($ value),现在它将整个会话都这样。对不起,我仍然不明白问题是什么! –
$ value不是一个数组...它会像'$ _SESSION ['cart'] [“productname”]一样工作' – devpro