我在此代码的第3,6和7行中收到未定义索引“id”的通知。我想不通,我做错了什么:未定义的索引错误(PHP)
if (isset($_POST['action']) && $_POST['action'] == 'save') {
foreach ($options as $value) {
if(($value['type'] === "checkbox" or $value['type'] === "multiselect") and is_array($_REQUEST[ $value['id'] ]))
{ $_REQUEST[ $value['id'] ]=implode(',',$_REQUEST[ $value['id'] ]); //This will take from the array and make one string
}
$key = $value['id'];
$val = $_REQUEST[$key];
$settings[$key] = $val;
}
我想这是解决一个小的事情,但还没有与任何东西我已经试过所有的运气。我做的一件事是运行var_dump($ key),有时$ key是空的,有时不是。所以我假设它与此有关。顺便说一下,这是WordPress主题的选项页面的一部分。这是作为“保存”功能的一部分运行的代码。
如果调试模式关闭,脚本实际上可以正常工作,但是当调试模式打开时,当点击选项页面上的保存按钮时,弹出这些通知。预先感谢任何见解,并让我知道是否需要发布更多代码以提供更多上下文。
编辑:我已经在pastebin中发布了选项页面。它的长。它包含t13lo的修复程序。该问题的代码是在线1957感谢:http://pastebin.com/NGX6qzgr
我认为你应该从我这里得到一个退步,第一行是什么? – ajreal 2010-12-20 17:37:11
对不起,我不明白“一行是干什么”的意思......我做错了什么?你问第一行是什么?它应该是保存选项......我也是编程新手,所以如果我做了一些非常愚蠢的事情,请告诉我! – orbit82 2010-12-20 17:39:23
@ orbit82 - isset'? – ajreal 2010-12-20 17:40:58