Не зная ошибки, невозможно сказать наверняка. Но используя мои дедуктивные способности, я думаю, что проблема здесь:
$_SESSION['cart'][$product_id]++;
Должно быть так:
if (isset($_SESSION['cart'][$product_id])) {
$_SESSION['cart'][$product_id]++;
} else {
$_SESSION['cart'][$product_id] = 1;
}
И вам нужно изменить это:
session_start();
// add this part
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
}
require_once 'class/Item.php';
$product_id = $_REQUEST['i_id'];
$action = $_REQUEST['action'];