我的PHP代码有一些问题。对于变量“$ total”,我有一个未定义的索引错误。我需要一些帮助来解决这个问题。这是我的整个PHP代码。PHP代码中未定义的索引?
<?php
include('inc/connect.php');
session_start();
?>
<html>
<head>
<title>Cart</title>
<link rel='stylesheet' href='css/main.css' />
</head>
<body>
<?php
$page = 'index.php';
if(isset($_GET['add'])){
$add_id = $_GET['add'];
$quantity = mysql_query("SELECT id, quantity FROM products WHERE id='$add_id'");
while($quantity_row = mysql_fetch_assoc($quantity)){
if($quantity_row['quantity'] [email protected]$_SESSION['cart_'.$add_id]){
@$_SESSION['cart_'.$_GET['add']]+='1';
header('Location: index.php');
}
else{
header('Location: index.php?err=max');
}
}
}
if(isset($_GET['remove'])){
$_SESSION['cart_'.(int)$_GET['remove']]--;
header("Location: index.php");
}
if(isset($_GET['delete'])){
$_SESSION['cart_'.(int)$_GET['delete']]='0';
header('Location: index.php');
}
function products(){
$get = mysql_query("SELECT id, name, description, price FROM products WHERE quantity > 0 ORDER BY id DESC");
if(mysql_num_rows($get) == 0){
echo "There are no products to display.";
}
else{
while($get_row = mysql_fetch_assoc($get)){
echo '<p>'.$get_row['name'].'<br />'.$get_row['description'].'<br />$'.$get_row['price'].' <a href="cart.php?add='.$get_row['id'].'">Add</a></p>';
}
}
}
function cart(){
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 id, name, price FROM products WHERE id='$id'");
while($get_row = mysql_fetch_assoc($get)){
$sub = $get_row['price']*$value;
echo $get_row['name'].' x '.$value.' @ $'.number_format($get_row['price'], 2).' = $'.$sub.' <a href="cart.php?add='.$id.'">[+]</a> <a href="cart.php?remove='.$id.'">[-]</a> <a href="cart.php?delete='.$id.'">[Delete]</a>';
}
}
$total += $sub;
}
}
echo '<br />'.$total;
}
?>
</body>
在此先感谢您的帮助。在不久的将来我可能需要更多的帮助。
哦,男孩。您的代码易受SQL注入攻击。我希望你不打算在生产中使用它。你也应该停止使用'mysql_'函数。他们不再被维护[并且被正式弃用](http://j.mp/XqV7Lp)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。 – Kermit 2013-02-15 22:45:56
哦。感谢您的建议。 – WorldxFree 2013-02-15 22:48:54
查看[谁是Bobby Tables?](http://bobby-tables.com/)了解更多信息。 – Kermit 2013-02-15 22:49:41