Php 为什么我的购物车不计算相同类型的产品?
这是到目前为止的代码。 我知道打针不太安全,我以后会处理的 但我的问题是,我的购物车添加了产品,但有时我会得到: 第358行的E:\hostingspace\Knoppers1\topjop.nl\wwwroot\portal\core\tj_functions.php中不支持的操作数类型 错误,无法添加同一类型的多个项目 第358行:$_会话['cart'][$uid]+=1// 也许你们中的一些人知道,因为其他相关问题对我没有帮助Php 为什么我的购物车不计算相同类型的产品?,php,Php,这是到目前为止的代码。 我知道打针不太安全,我以后会处理的 但我的问题是,我的购物车添加了产品,但有时我会得到: 第358行的E:\hostingspace\Knoppers1\topjop.nl\wwwroot\portal\core\tj_functions.php中不支持的操作数类型 错误,无法添加同一类型的多个项目 第358行:$_会话['cart'][$uid]+=1// 也许你们中的一些人知道,因为其他相关问题对我没有帮助 function toevoegen(){ sess
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>€'.$get_row['price'].'</td><td>'. $value .'</td> <td>€'.$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
看起来$\u SESSION['cart'][$uid]是一个包含id和值的数组,正如您在下面的代码段中所读的那样:
$id = $data[0];//
$value = $data[1];//
看起来$\u SESSION['cart'][$uid]是一个包含id和值的数组,正如您在下面的代码段中所读的那样:
$id = $data[0];//
$value = $data[1];//
看起来$\u会话['cart'][$uid]是一个数组。所以你不能做+=1 也许吧
$_SESSION['cart'][$uid][1] += 1; // increment $value
看起来$\u会话['cart'][$uid]是一个数组。所以你不能做+=1 也许吧
$_SESSION['cart'][$uid][1] += 1; // increment $value
您确定$\u会话['cart'][$uid]是您期望的变量类型吗?如果你尝试将数组除以整数…@Henders,那么之后的代码是什么呢?如果你尝试执行var_dump$\u SESSION['cart'][$uid]之类的操作;您应该看到该值实际上是什么。它看起来像是无法添加1的布尔/array/etcAre您确定$\u SESSION['cart'][$uid]是您期望的变量类型吗?如果你尝试将数组除以整数…@Henders,那么之后的代码是什么呢?如果你尝试执行var_dump$\u SESSION['cart'][$uid]之类的操作;您应该看到该值实际上是什么。它看起来像是一个布尔/array/etcWhy你会认为我们想要添加一些东西来索引数组中的一个吗?当然,这只是冒着“未定义索引通知”的风险,除非我遗漏了什么…@Henders我知道$\u SESSION['cart'][$uid][0]=>产品id,$\u SESSION['cart'][$uid][1]=>如果我是对的,当$uid等于0时,$\u SESSION['cart'][$uid][1]是初始值!我不知道[1]总是被设置的:为什么您会认为我们想要添加一些东西来索引数组中的一个?当然,这只是冒着“未定义索引通知”的风险,除非我遗漏了什么…@Henders我知道$\u SESSION['cart'][$uid][0]=>产品id,$\u SESSION['cart'][$uid][1]=>如果我是对的,当$uid等于0时,$\u SESSION['cart'][$uid][1]是初始值!我不知道[1]总是被设置为: