Php isset()存在未定义的索引错误?
我是否错过了一些我没有看到的东西,这些东西会为代码抛出一个未定义的索引错误?在测试functions.php中添加的代码时,如果Php isset()存在未定义的索引错误?,php,isset,undefined-index,Php,Isset,Undefined Index,我是否错过了一些我没有看到的东西,这些东西会为代码抛出一个未定义的索引错误?在测试functions.php中添加的代码时,如果$\u POST['sub']未通过,它会抛出下面未定义的索引错误,但是针对完全相同的POST变量“sub”的相同isset()测试会在第494行上方执行大约12次,而不会抛出错误。我错过了什么 PHP错误 注意:未定义索引:sub in /第494行的home/path/public_html/dtest/includes/functions.php 第494行代码
$\u POST['sub']
未通过,它会抛出下面未定义的索引错误,但是针对完全相同的POST变量“sub”的相同isset()
测试会在第494行上方执行大约12次,而不会抛出错误。我错过了什么
PHP错误
注意:未定义索引:sub in
/第494行的home/path/public_html/dtest/includes/functions.php
第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'];
}
删除
echo$_POST['sub']代码>来自负责此未定义索引通知的else
部分,并替换为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 (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
}
你必须先使用isset,然后检查它是否为“ritem”@Chitowns24,但他的错误是未定义的索引sub-me认为这不是全部代码是的,我只是重新查看了一下agree@MikeB这就是它的全部代码,但下面的答案是正确的——现在我从上到下看,这句话的其他部分应该在一段时间前删除。看起来它被放在那里了。这就是为什么有行长度限制和标准不允许单线控制结构的原因。干净的代码看起来是这样的谢谢-在回顾ELSE语句之后,它应该在早期版本中被删除,而有人忽略了它并将其留在其中。删除它解决了这个问题-很抱歉,这是一件微不足道的事情,我想我和其他开发人员一样对忽略它感到内疚