2013-07-16 2 views
0

Я получаю неопределенный: ошибку minicart индексаРазделяет переменные сессии

У меня есть переменная сеанса ['cart_array'], которые хранят элементы в множественном массиве и я определяю их как

// If the cart session variable is not set or cart array is empty 
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) { 
     // RUN IF THE CART IS EMPTY OR NOT SET 
     $_SESSION["cart_array"]["minicart"] = array(0 => array("item_id" => $pid, "quantity" => 1)); 

Что является лучшим способом для предотвращения это?

+1

Иногда вы используете '$ _SESSION [" minicart "]' иногда '$ _SESSION [" cart_array "] [" minicart "]' и вы написали 'mini_cart' ... Вам, вероятно, нужно разобраться в этом. И нигде в коде, который вы использовали, вы задаете эту переменную сеанса. – Bun

+0

@Bun случайно удалил один из '[" minicart "]', но я поставил его в вопрос сейчас ... – Amy

ответ

0

Создайте метод, чтобы вернуть общую стоимость, а не хранить ОБЩАЯ ЦЕНА в $minicart.

function getTotalPrice() 
{ 
    $total = 0; 
    foreach ($_SESSION["cart_array"] as $item) 
    { 
     $total += $item['price']; 
    } 
    return $total; 
} 

Конечно заменить $item['price'] с тем, что вы используете для хранения цен элементов.

+0

Ур говорит, что мне не нужно 'minicart' показывать общую цену, но я могу использовать' cart_array', чтобы показать количество элементов в массиве, а также общую цену? если это так, я буду эхо 'cart_array' за цену и' count', чтобы показать количество элементов в сеансе массива? – Amy

+0

Нет, вы используете функцию getTotalPrice() 'echo. Похоже, проблема здесь - это плохое понимание PHP. Из вашего предыдущего вопроса вам нужно заменить '$ item ['price']' в моем ответе выше с помощью '$ price'. –

+0

ur right мое понимание php не самое лучшее и спасибо за вашу помощь – Amy

Смежные вопросы