提问人:DMSJax 提问时间:3/29/2014 最后编辑:VickelDMSJax 更新时间:1/15/2019 访问量:3305
isset() 的未定义索引错误?
undefined index error with isset() in place?
问:
我是否在这里遗漏了一些我没有看到的东西,这些内容会为此代码抛出未定义的索引错误?在测试未传递的函数 .php 的代码添加时,它会在下面抛出未定义的索引错误,但是针对完全相同的 POST 变量“sub”的相同测试在第 494 行上方执行约 12 次而不会抛出错误。我错过了什么?$_POST['sub']
isset()
来自PHP的错误
注意:未定义的索引:sub in /home/path/public_html/dtest/includes/functions.php 第 494 行
代码 494
if (isset($_POST['sub']) && $_POST['sub'] == "ritem") {
$id = $_POST['ritemid'];
unset($_SESSION['cart']['items'][$id]);
header("Location: ".$_SERVER['HTTP_REFERER']."");
die();
} else {
echo $_POST['sub'];
}
答:
1赞
Shankar Narayana Damodaran
3/29/2014
#1
从负责此操作的部分中删除 并替换为语句。echo $_POST['sub'];
else
Undefined index notice
echo
应该是这样的..
<?php
if (isset($_POST['sub']) && $_POST['sub']=="ritem") {
$id=$_POST['ritemid'];
unset ($_SESSION['cart']['items'][$id]);
header("Location: ".$_SERVER['HTTP_REFERER']."");die();}
else
{
echo "The subject is not set";
}
那是因为..当失败时,这意味着未设置,因此当涉及到部分时,您正在尝试输出实际上未设置的输出(这是此问题的实际根源if
$_POST['sub']
else
$_POST['sub']
)
评论
1赞
DMSJax
3/29/2014
谢谢 - 回顾后,ELSE 语句应该在早期修订版中删除,有人忽略了它并留在其中。删除它解决了这个问题 - 对不起,这是一件微不足道的事情,我想我和其他开发人员一样对忽视它感到内疚
0赞
Rahul Prasad
3/29/2014
#2
这是因为其他情况
if (isset($_POST['sub']) && $_POST['sub']=="ritem") {
$id=$_POST['ritemid'];
unset ($_SESSION['cart']['items'][$id]);
header("Location: ".$_SERVER['HTTP_REFERER']."");
die();
} else if(isset($_POST['sub'])) {
echo $_POST['sub'];
} else {
// Do something else here
}
评论