Это мое первое время, когда-либо отправляли что-то в stackoverflow. Я относительно новый программист в подобных Php, и у меня есть это задание, где я должен сделать корзину.My foreach returns Предупреждение: Недопустимое смещение строки 'productname'
Прошу прощения, если это грязно или не может быть оформлено. Я искал на этих форумах в течение 2 дней, и теперь я не могу реально найти себе SOLUTIO
Теперь моя проблема заключается в следующем
Я получаю мои данные продукта из базы данных -> затем я нажимаю на продукте -> он переходит на страницу, где он добавляет productid, productname и цену на сеанс с помощью массива array_push, а затем возвращается на ту же страницу, где находится тележка (тележка находится на той же странице, что и в товарной строке).
Теперь я получил сеанс просто отлично и с var dumps я вижу, что массив полностью заполнен даже в foreach.
Все, что я хочу сделать, это показать productid/productname/price seperatly.
массива (6) {[ "ProductID"] => строка (1) "6" [ "PRODUCTNAME"] => строка (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/>';
}
Путь я посылаю свою продукцию на этой странице, отправив PRODUCTID, PRODUCTNAME и цену в URL, когда кто-то нажимает на заказ, чтобы add_to_cart.php, который затем делает этот
<?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 (значение $) в свой цикл (где у вас есть var_dump) и опубликуйте вывод в вопрос, пожалуйста :) - это может даже ответить на ваш вопрос, когда вы увидите результат. – IaMaCuP
Большое спасибо за помощь Я добавил print_r (значение $), и теперь он ставит весь сеанс таким образом. Извините, я все еще не понимаю, в чем проблема! –
$ value - это не массив ... Он будет работать как '$ _SESSION ['cart'] [" productname "]' – devpro