如果从下面的代码中没有选中任何复选框,我正在努力生成输出。
HTML - 表格
<label>Item 1:</label><input type="checkbox" name="selected[]" value="Item 1"/>
<label>Item 2:</label><input type="checkbox" name="selected[]" value="Item 2"/>
<label>Item 3:</label><input type="checkbox" name="selected[]" value="Item 3"/>
PHP代码
<?php
foreach ($_REQUEST['selected'] as $key => $selected) {
echo "$selected";
}
?>
代码在选中时输出正确的值,但会生成“未定义的索引:在...中选择”和“ “为foreach()提供的参数无效:”
有人能指出我正确的方向吗? 谢谢
答案 0 :(得分:1)
您需要在使用之前检查该值:
<?php
//$_REQUEST['selected'] is set and is array
if(isset($_REQUEST['selected']) && is_array($_REQUEST['selected'])){
//Loop it
foreach ($_REQUEST['selected'] as $key=>$selected) {
echo htmlspecialchars($selected);
}
}
?>
Undefined index: extra
可能是其他错误,但您认为是这样。如果您看到Undefined index
警告意味着您尝试访问未定义的数组键,例如未设置,则可以采用任何方式。
仅供参考:请注意$_REQUEST
将接受来自$ _GET和$ _POST,如果您不希望从任何一个设置该值,那么最好更具体,因此如果您在表单中使用POST然后使用$_POST['selected']