【发布时间】:2011-06-13 22:13:17
【问题描述】:
当我在未选中复选框的情况下发布表单时,我收到了Notice: Undefined variable: myvariable。
我需要检查复选框是否未选中。
我该怎么做?
【问题讨论】:
当我在未选中复选框的情况下发布表单时,我收到了Notice: Undefined variable: myvariable。
我需要检查复选框是否未选中。
我该怎么做?
【问题讨论】:
isset 函数会告诉您是否存在变量、数组中的键或对象中的公共属性:
if (isset($variable)) {...
if (isset($array['key'])) {...
【讨论】:
如果出现未定义,则执行以下操作:
if(isset($_POST['myvariable'])){
//this means it's checked... do something with it
}else{
//this means it's not checked.. do something else
}
【讨论】:
如果表单提交没有设置它(即$_POST),一种常见的方法是将其默认为某个值(即false)。以下使用三元运算符,根据自己的喜好调整值:
$checkbox_value = isset($_POST['myvariable']) ? $_POST['myvariable'] : false;
【讨论】:
在 html 表单上的同名复选框之前创建隐藏字段。
<input type="hidden" value="0" name="check"/>
<input type="checkbox" value="1" name="check"/>
在这种情况下,值 $_POST['check'] 总是被定义
【讨论】:
试试这个:
if(!empty($_POST["foo"])) {
//Do something...
}
【讨论】: