我正从$ _GET数组中检索一些行,其中一些是复选框值。由于它们只会在$ _GET数组中显示“on”状态,因此我设计了以下解决方案,为我将发送给客户端的字符串添加“off”。这是它的样子:
if(!($_GET['active'][$row])){ //row is incremented in a loop
$oactive = "off";
}else{
$oactive = "FBINSERTa".":". "\"" . $_GET['active'][$row] ."\"";
}
相对简单,如果['active'] [$ row]没有任何内容,推迟$ oactive。但是,如果$ _GET ['active'] [$ row]的值未定义,则PHP回应通知:
注意:未定义的偏移量:在... \ page.php中为6 在第x行
我可以用error_reporting()来抑制它,但我想找到一个更好的方法。有什么想法吗?
答案 0 :(得分:0)
在尝试使用isset
if(isset($_GET['active'][$row]) && $_GET['active'][$row]==false){
答案 1 :(得分:0)
您应该使用isset
:
if(isset($_GET['active'][$row])){ //row is incremented in a loop
$oactive = "off";
}else{
$oactive = "FBINSERTa".":". "\"" . $_GET['active'][$row] ."\"";
}
另一个选项是在每个复选框(并且名称相同)之前的标记中包含input
类型hidden
和默认值(“我想猜”),这个如果在提交表单时检查复选框的值将采取预防措施,否则隐藏输入的默认值将被提交。
示例:
<input type="hidden" name="myCheckbox" value="off" />
<label>
<input type="checkbox" name="myCheckbox" value="on" />
Check me!
</label>