我在这里有这个代码,在脚本的某处我有代码的第二部分。当我运行脚本时,它向我显示了这个通知:
注意:未定义的变量:第215行的C:\ xampp \ htdocs \ BB \ shoppingcart.php中的msg
注意:未定义的索引:第218行的C:\ xampp \ htdocs \ BB \ shoppingcart.php中的购物车
以下是代码:
if(isset($_REQUEST['command']) && $_REQUEST['command']=='add' && $_REQUEST['productid']>0)
{
remove_product($_REQUEST['pid']);
}
else if(isset ($_REQUEST['command'])=='clear'){
unset($_SESSION['cart']);
}
else if(isset ($_REQUEST['command'])=='update'){
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$pid=$_SESSION['cart'][$i]['productid'];
$q=intval($_REQUEST['product'.$pid]);
if($q>0 && $q<=999){
$_SESSION['cart'][$i]['qty']=$q;
}
else{
$msg='Some proudcts not updated!';
}
}
}
这里是第215和218行:
<div style="color:#F00"><?php echo $msg?></div>
if(is_array($_SESSION['cart'])){
我找不到问题,我在网上搜索了几个小时。感谢
答案 0 :(得分:1)
首先在代码的第一部分中将$ msg定义为nul,即$ msg = null,或者您可以直接使用 echo isset($ msg)? $ msg:'';
它将解决您的第一行错误
然后逐步调试代码,为什么$ msg不包含任何值 改变这一行 else if(isset($ _REQUEST ['command'])=='clear') 至 否则if(isset($ _REQUEST ['command'])&amp;&amp;($ _REQUEST ['command'] =='clear'))
它可以解决你的问题只需检查一次然后再回来,如果没有那么我们可以用另一种方式找到它
答案 1 :(得分:1)
你只在某些条件下设置$ _SESSION ['cart']和$ msg,所以如果这些条件不成立,则它们是未定义的。您不能在代码中使用未定义的变量或索引。将第215和218行更改为以下内容,您将不会遇到任何问题:
<div style="color:#F00"><?php if (isset($msg)) {echo $msg;} ?></div>
if(isset($_SESSION['cart']) && is_array($_SESSION['cart'])){
答案 2 :(得分:0)
摆脱:
注意:未定义的变量:第215行的C:\ xampp \ htdocs \ BB \ shoppingcart.php中的msg
将此说明放在脚本的开头,以使变量始终可用:
$msg = '';
通知:
注意:未定义的索引:第218行的C:\ xampp \ htdocs \ BB \ shoppingcart.php中的购物车
尝试使用session_start();脚本开头的指令。