PHP不能将标量值用作数组 - 增加会话

时间:2014-02-07 00:28:50

标签: php session session-variables

我正在编写一个脚本来下订单,该订单将添加到购物车中,我将购物车的选定值存储为会话。每个新选择(添加到购物车)都会添加到新会话中,每次增加一个会话。 即

$_SESSION['cart'][1]
$_SESSION['cart'][2]
$_SESSION['cart'][3]

我收到以下错误并感到难过。 警告:不能在第37行的C:\wamp\www\php\cart\carting\order.php中使用标量值作为数组 - (这是第$_SESSION['cart'][$p] = $cartstring;行)

<?PHP

session_start();

 $productlist = $_POST['products']; //Form post


if (isset($productlist))    {       

    if (!isset($_SESSION['cart']))  {
        $p = 0;
        $_SESSION['cart'][$p];
        print $_SESSION['cart'][$p];
    }
    elseif (isset($_SESSION['cart']))   {   
        $p = count($_SESSION['cart']);
        $p++;

        $product = explode('-', $productlist[1][0]);
        $productname = $product[0];
        $productprice = $product[1];
        $productqty = $productlist[1][1];
        $itemsubtotal = ($productprice * $productqty);

$cartstring = "productid-$productname-$productprice-$productqty-$itemsubtotal";
        $_SESSION['cart'][$p] = $cartstring;    //THIS IS LINE 37

    }

    }


$product1 = "Bread";
$price1 = 12;
$product2 = "Butter";
$price2 = 2;


 print '<form action="order.php" method="post">';
 print '<input type="checkbox" name="products[1][]" value="'.$product1." "."-"." ".$price1.'" />';echo $product1;
print '<input type="text" name="products[1][]" value="" />QTY';print '<br>';
print '<br>';print '<br>';
print '
<input type="submit" name="formSubmit" value="Submit" />

</form>';


?>

0 个答案:

没有答案