为什么我的购物车不计算同类型的产品?

时间:2016-05-27 13:32:26

标签: php

这是到目前为止的代码。 我知道注射不太安全,我稍后会照顾它。

但我的问题是我的购物车添加了产品,但有时我会得到:

  

第358行的E:\ HostingSpaces \ Knoppers1 \ topjop.nl \ wwwroot \ portal \ core \ tj_functions.php中不支持的操作数类型

错误,我无法添加多个相同类型的项目。

line 358: $_SESSION['cart'][$uid] += 1;//

也许有些人知道,因为其他相关问题对我没有帮助。

function toevoegen(){
    session_start();
    if(!isset($_SESSION['cart'])){
        $_SESSION['cart'] = array();
    }
    if(isset($_GET['add'])) {
        $info = 'U heeft een product toegevoegd <META HTTP-EQUIV=REFRESH CONTENT="1; URL=http://topjop.nl/portal/winkelmandje.php">';
        $uid = 0; //update id
        foreach($_SESSION['cart'] as $id => $data){
            if($data[0]==$_GET['add']){
                $uid = $id;//
            }
        }
        if($uid == 0){
            array_push($_SESSION['cart'],array($_GET['add'],1));//
        }else{
            $_SESSION['cart'][$uid] += 1;//
        }
    }
    else {
        $info = '';
    }
    return $info;
}

function winkelmandje(){
    mysql_connect("mysql8.mijnhostingpartner.nl","","");
    mysql_select_db("Knoppers1_portal");
    session_start();
    $mand = '<table id="winkelmandje_tabel"><tr><td>Product</td>
    <td>Stukprijs</td><td>Aantal</td><td>Totaal bedrag</td><td></td></tr>';
    foreach($_SESSION['cart'] as $data){
        $id = $data[0];//
        $value = $data[1];//
        if($value>0){
            $get = mysql_query('SELECT id, name, price FROM products WHERE id='.mysql_real_escape_string((int)$id));
            while ($get_row = mysql_fetch_assoc($get)) {
                $totaal = $get_row['price']*$value;
                $totaalprijs = number_format($totaal,2,',','.');
                $mand .= '<tr><td>'.$get_row['name'].'</td>
                <td>&euro;'.$get_row['price'].'</td><td>'. $value .'</td> <td>&euro;'.$totaalprijs.'</td></tr>';
            }
        }
        else{
        }
    }
    $aantal = '';
    $kosten = '';
    return $mand.'<tr><td><b>Totaal:</b></td><td></td><td><b>'. $aantal .'</b></td><td><b>'. $kosten .'</b></td></tr></table>';
}
toevoegen = ADD<br>
winkelmandje =  SHOPPINGCART

2 个答案:

答案 0 :(得分:0)

似乎$ _SESSION [&#39; cart&#39;] [$ uid]是一个包含id和value的数组,就像你在下面的代码片段中所读到的那样:

$id = $data[0];//
$value = $data[1];//

答案 1 :(得分:0)

似乎$ _SESSION ['cart'] [$ uid]是一个数组。所以你不能做+ = 1

也许可以

$_SESSION['cart'][$uid][1] += 1; // increment $value