我正在使用PHP购物车,我似乎在各种各样的地方收到此错误“注意:未定义的索引:”.错误指的是不同位置的类似编码位.例如,我有一段编码,用于计算用户决定订阅的月份的套餐价格.我有以下错误引用的变量:
$month = $_POST['month'];
$op = $_POST['op'];
$month变量是用户在表单中输入的数字,$op变量是不同的包,其值存储在用户从表单上的单选按钮中选择的可用表中.
我希望在某种程度上是清楚的.
谢谢
编辑:抱歉忘记提及他们确实在用户提交数据时消失.但是,当他们第一次来到页面时,它会显示此错误.我怎么能摆脱它所以它不显示它?
–
这是代码:
<?php
$pack_1 = 3;
$pack_2 = 6;
$pack_3 = 9;
$pack_4 = 12;
$month = $_POST['month'];
$op = $_POST['op'];
$action = $_GET['action'];
if ( $op == "Adopter" ) {
$answer = $pack_1 * $month;
}
if ( $op == "Defender" ) {
$answer = $pack_2 * $month;
}
if ( $op == "Protector" ) {
$answer = $pack_3 * $month;
}
if ( $op == "Guardian" ) {
$answer = $pack_4 * $month;
}
switch($action) {
case "adds":
$_SESSION['cart'][$answer][$op];
break;
}
?>
解决方法:
您正在尝试访问未设置的数组中的指示.这提出了一个通知.
您现在很可能会注意到它,因为您的代码已移至php.ini将error_reporting设置为包含E_NOTICE的服务器.通过将error_reporting设置为E_ALL& amp来抑制通知. ~E_NOTICE(不推荐),或在尝试访问索引之前验证索引是否存在:
$month = array_key_exists('month', $_POST) ? $_POST['month'] : null;