Неустранимая ошибка: оператор [] для строк не поддерживается

Я пытаюсь хранить товары в корзине из пользовательского ввода в форме с использованием сессий. Это мой код для хранения товаров в корзине.

//Create cart if it doesn't already exist
if (!isset($_SESSION['Cart']))
{
$_SESSION['Cart'] = array();
}
//Add an item only if required movie info needed
if(isset($_POST['Cinema']) && isset($_POST['Day']) && isset($_POST['Time']) &&        isset($_POST['Quantity']) && isset($_POST['Price']))
{

$ITEM = array(

'Cinema' => $_POST['Cinema'],
'Day' => $_POST['Day'],
'Time' => $_POST['Time'],
'Quantity' => $_POST['Quantity'],
'Price' => $_POST['Price']
);

//Add this item to the cart
$_SESSION['Cart'][] =  $ITEM;
}

Тем не менее, я продолжаю получать эту ошибку:

 Fatal error: [] operator not supported for strings in Line 31.

Lines 31 is :  $_SESSION['Cart'][] =  $ITEM;

Мой синтаксис неправильный?

0

Решение

На данный момент, $_SESSION['Cart'] это строка, а не массив — и вы не можете нажать на строку, как если бы вы нажимали на массив.

Вам нужно очистить сессию, используя session_unset(), затем сбросить $_SESSION['Cart'] быть массивом.

1

Другие решения

Других решений пока нет …