购物车使用& _SEESION和多维数组

时间:2016-03-06 08:22:20

标签: php html

我正在使用$_SESSION制作购物车,我的问题是数组中的第一个数据被新的覆盖了,你可以帮我解决这个问题吗?

这是我的代码:

    session_start();
    $_SESSION['cart']= array();
    if(isset($_POST['addtocart'])){
                $newproduct= array(
                'code' => $_SESSION['code'],
                'color' => $_POST['color'],
                'size' =>$_POST['size'],
                'quantity' => 1);
                $_SESSION['cart'][]= $newproduct;

    }

检索值:

session_start();
foreach ( $_SESSION['cart'] AS $item ) 
{  
echo 'code: ' . $item['code'] . '<br />'; 
echo 'color: ' . $item['color'];  
}

1 个答案:

答案 0 :(得分:1)

您重新购买购物车会话变量eah time

$_SESSION['cart']= array();

也许你应该尝试:

if( !isset( $_SESSION['cart'] ) ) $_SESSION['cart']= array();

即:

<?php

    session_start();
    if( !isset( $_SESSION['cart'] ) ) $_SESSION['cart']= array();

    if( isset( $_POST['addtocart'], $_POST['color'],$_POST['size'],$_SESSION['code'] ) ){
        $newproduct=array(
            'code'      =>  $_SESSION['code'],
            'color'     =>  $_POST['color'],
            'size'      =>  $_POST['size'],
            'quantity'  =>  1
        );
        $_SESSION['cart'][]= $newproduct;
    }

?>