Что я делаю не так? (корзина на сессиях)

151
13 июля 2022, 05:30

Пытаюсь реализовать корзину в сессии, но по ходу мне нужна помощь.

Вот код, который выводит категории товаров и в нём есть кнопка с событием onClick:

<? foreach($getForFaceMain as $key) {?>
            <div>
                <img src="/<?=$key['img1']?>" alt="Изображение товара">
                <h4><?=$key['title']?></h4>
                <p id="desc_goods"><?=$key['descr']?></p>
                <p id="price"><?=$key['price']?> руб.</p>
                <form action="" method="post"><button name="product_id" type="button" onclick="add_to_cart(<?=$key['id']?>)">Купить +</button></form>
            </div>
<?}?>

Есть JS-код который это событие обрабатывает, а именно запускает PHP скрип, который должен добавлять id товара в сессию:

//Добавление в корзину
function add_to_cart(product_id) {
//здесь, как и в PHP, значение количества по умолчанию 1
$.post( "cart/add_to_cart.php", {product_id: product_id});
    alert('Товар добавлен в корзину');
}

Далее сам PHP скрипт

session_start();

function add_to_cart($product_id, $count) {
/*проверяем,  не был ли добавлен товар в корзину ранее:*/
    if (!empty($_SESSION['products'][$product_id])) {
/*увеличиваем  количество на единицу, если товар уже добавлен:*/
    $_SESSION['products'][$product_id]['count']++;
  }
  else {
/*создаем  пустой массив, на всякий случай, можно и без него*/
    $_SESSION['products'][$product_id] = array();
/*извлекаем  цену товара из базы данных:*/
    $q = "SELECT price FROM goods WHERE id='$product_id'";
/*разбиваем  результат запроса в массив:*/
    $add_product = mysqli_fetch_assoc(mysql_query($q));
/*добавляем товар в корзину:*/
    $_SESSION['products'][$product_id]['cost'] = $add_product['price'];
    $_SESSION['products'][$product_id]['count'] = $count;
  }
}

add_to_cart($_POST['product_id'], 1);

После нажатия на кнопку срабатывает ALERT, но в $_SESSION['products'] пусто. В чём причина может быть?

READ ALSO
не знаю почему выдает undefined

не знаю почему выдает undefined

когда вызываю row оно вдает "Input rown undefined"

188
THREE.js задание связанное с mipmaps

THREE.js задание связанное с mipmaps

Есть задание связанное с mipmapsПо сути задание такого - есть 3Д фигура (допустим сфера) и при приближении камеры к фигуре начинает проявляться...

239
Отправка данных в url php

Отправка данных в url php

Стоит вопрос таков, как отправить данные из первой формы во вторую, во второй форме получить еще данные и отправить на третью страницу и все...

208