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

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

Вот код, который выводит категории товаров и в нём есть кнопка с событием 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'] пусто. В чём причина может быть?


Ответы (0 шт):