このコードの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;
}
私はこれを修正するための小さなものであると思っていますが、私が試したものを持つ任意の運を持っていませんでした。私がやったことの1つはvar_dump($ key)を実行し、時には$ keyがnullであり、時にはそうではありません。だから私はそれがこれと関係していると仮定している。
これは、WordPressテーマのオプションページの一部です。これは、「保存」機能の一部として実行されるコードです。
デバッグモードがオフになっているが、デバッグモードがオンの場合、オプションページの保存ボタンを押すと、これらの通知がポップアップします。どんな洞察をも前もってありがとう、より多くの文脈を与えるためにもっとコードを投稿する必要があるかどうか教えてください。
EDIT:pastebinにオプションページを掲載しました。それは長い。これにはt13loの修正が含まれています。
if (($value['type'] === "checkbox" || $value['type'] === "multiselect") && isset($_REQUEST['id']) && is_array($_REQUEST[ $value['id'] ]))
しかし、あなたのforeachの中にあなたのコードの残りの部分は$value['id']
に依存しているようだ:あなたは、ライン3を変更することができますhttp://pastebin.com/NGX6qzgr
私はあなたが私からdownvoteに値したと思う、第1行は何ですか? – ajreal
申し訳ありませんが、私はあなたが何を意味するのか理解していません "行1は何ですか" ...私は何か間違っていましたか? 1行目は何をしているのですか?それはオプションを保存するはずだ...私はプログラミングに新しいので、私は本当に愚かな何かをした場合は、私に教えて! – orbit82
@ orbit82 - 'isset'? – ajreal