我尝试使用会话通过表单中的用户输入将商品存储在购物车中。这是我将商品存储在购物车中的代码。
//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 :(得分:1)
截至目前,$_SESSION['Cart']
是一个字符串,而不是一个数组 - 并且您不能像推送到数组那样推送到字符串。
您需要使用session_unset()
清除会话,然后将$_SESSION['Cart']
重置为数组。