每次POST值不等于数组中设置的值列表时,将返回:未定义的索引错误,我做了一个if语句但是没有工作.
这是if语句:
if ($products[$_POST['product']] == $_POST['product']) {
do everything;}
else {
echo "This item is not available";
}
EDIT2:
看到避免警告的当前情况不会有太大帮助,因为我正在处理几个因素,例如购物车中的项目列表,如果未删除无效产品,它将被添加到购物清单会话中.
这是完整的脚本:
session_start();
//Getting the list
$_SESSION['list'] = isset($_SESSION['list']) ? $_SESSION['list'] : array();
//stock
$products = array(
'Pineaple' => 500, 'Banana' => 50, 'Mango' => 150,
'Milk' => 500, 'Coffe' => 1200, 'Butter' => 300,
'Bread' => 450, 'Juice' => 780, 'Peanuts' => 800,
'Yogurt' => 450, 'Beer' => 550, 'Wine' => 2500,
);
if( isset($_POST['product']) ){
//Saving the stuff
$new_item = array(
'item' => $_POST['product'],
'quantity' => $_POST['quantity'],
'code' => $_POST['code'],
'price' => $products[$_POST['product']] * $_POST['quantity'],
);
$new_product = true;
foreach($_SESSION['list'] as $key => $item) {
if ($item['item'] == $new_item['item']) {
$_SESSION['list'][$key]['quantity'] += $new_item['quantity'];
$_SESSION['list'][$key]['price'] = $products[$new_item['item']] * $new_item['quantity'];
$new_product = false;
}
}
if ($new_product) {
$_SESSION['list'][] = $new_item;
}
/*if ($new_item['item'] != $products[$new_item['item']]) {
echo "This item is not available";}*/
//listing
echo "SHOPPING LIST";
foreach($_SESSION['list'] as $key => $item) {
echo 'Product .'. $key. ' '. $item['item'], ' ', $item['quantity'], ' units: ', $item['price']. '
';
}
}
else {
echo "This item is not available";
}
echo " Return to index ";
//Printing session
var_dump($_SESSION);
session_destroy();
?>