講師がフォーム送信をテストしているビデオ チュートリアルを見ています。
彼が使用しているコードは次のとおりです。
$required_fields = array('menu_name', 'position', 'visible');
foreach ($required_fields as $fieldname) {
if (!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) && $_POST[$fieldname] != 0) {
$errors[] = $fieldname;
}
}
彼が持っている場所のif statement
後の状態に注意してください&&
$_POST[$fieldname] != 0
これは何らかの理由でうまくいきません。
0
ただし、このような引用符を付けると、機能し$_POST[$fieldname] != "0"
ます。
ところで、このフィールドは、 MySQL では'visible'
ブール値、つまり です。tinyint(1)
このフィールドのフォームの HTML は次のようになります。
Visible:
<input type="radio" name="visible" value="1" <?php if ($sel_subject['visible'] == "1") {echo "checked=\"checked\"";} ?> /> Yes
<input type="radio" name="visible" value="0" <?php if ($sel_subject['visible'] == "0") {echo "checked=\"checked\"";} ?> /> No
何か案は?よろしくお願いいたします。
アップデート:
何が起こったのかわかりませんが、何らかの理由でコードが引用符なしで機能するようになりました。混乱して申し訳ありません。