我刚刚在这里使用php,我试图创建一个简单的购物车..但每次运行代码时,都会发生错误。它说“注意:未定义的变量:总计在C:\ wamp \ www \ irm \ cart.php第372行”。这是我的代码:
function cart(){
echo "<table table border='1' cellpadding='10'>";
foreach($_SESSION as $name`` => $value){
if ($value>0){
if(substr($name, 0, 5)=='cart_'){
$id = substr($name, 5, (strlen($name)-5));
$get = mysql_query('SELECT prod_id, prod_name, prod_price FROM products WHERE prod_id='.mysql_real_escape_string((int)$id));
while ($get_row = mysql_fetch_assoc($get)){
$sub = $get_row['prod_price']*$value;
echo "<tr><th>Product Name</th> <th>Quantity</th> <th>Price</th> <th>Total</th> <th>Increase</th> <th>Decrease</th> <th>Remove</th></tr>";
echo '<td>'.$get_row['prod_name'].'</td>';
echo '<td>'.$value.'</td>';
echo '<td>'.' PhP'.number_format($get_row['prod_price'], 2).'</td>';
echo '<td>'.' PhP'.number_format($sub, 2).'</td>';
echo '<td>'.'<a href="cart.php?remove='.$id.'">[-]</a>'.'</td>';
echo '<td>'.'<a href="cart.php?add='.$id.'">[+]</a>'.'</td>';
echo '<td>'.'<a href="cart.php?delete='.$id.'">[Delete]</a></td>';
}
}
$total += $sub;
}
}
if($total==0){
echo "Your cart is empty.";
}
else{
echo 'Total: PhP'.number_format($total, 2);
}
答案 0 :(得分:3)
这是因为在使用它之前没有定义它。在函数顶部用零值声明它,因此始终定义它:
function cart(){
$total = 0; // <-- what you need to add
答案 1 :(得分:0)
声明变量并最初指定值0
或使用isset()
检查变量是否已设置
答案 2 :(得分:0)
您必须先初始化$ total,然后才能在表达式中使用它。您可以像这样初始化它:
$total = null;
此外,您的代码缺少结束大括号。您还有不应该出现的后退标记:
$_SESSION as $name`` => $value
答案 3 :(得分:0)
你必须在函数中定义变量$total
并给它一个零值。
function cart() {
$total = 0;
/* ... */
}