講師がフォームの提出をテストしているビデオチュートリアルを見ています。phpが空で0が0の不思議な挙動
彼が使っているコードは次のとおりです。
$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"
となります。
ところで、'visible'
フィールドは、MySQLのboolean、別名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
任意のアイデア?ご協力いただきありがとうございます。
UPDATE:
私は何が起こったのかわからないんだけど、何らかの理由コードは、引用符なしで今取り組んでいます。混乱を招いて申し訳ありません。 、ん比較する前に
私はそれを追加する必要があります、私は引用符で変更しようとしていると、HTMLではないが、それは違いはありません。 – Nathan
使用しているコードを確認できますか? 'foreach'の' if'文のように、 '{'の前に ')'がありません。 – Tim
@Tim申し訳ありませんが、私はその問題は見ていません。私は日食が私に警告したと思う。 – Nathan