這是我第一次發佈一些關於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