我正在观看一个视频教程,讲师正在测试表单提交。
他使用的代码是:
$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
有任何想法吗?预先感谢您的帮助。
更新:
我不确定发生了什么,但由于某种原因,代码现在可以在没有引号的情况下运行。很抱歉有任何混淆。