我有一个复选框组,当你勾选一个时它可以正常工作,但如果所有都没有被取消,它会返回一个错误。
以下是代码:
foreach ($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1results .= $val.",\n";
}
这是我要回来的错误:
Warning: Invalid argument supplied for foreach() in
/home/medicom/public_html/memberappform1.php on line 492
我对php不太好,所以如果没有勾选的话,需要一种方法在循环中不返回任何内容。
答案 0 :(得分:2)
if( is_array($_SESSION['CheckboxGroup1']) ){
foreach ($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1results .= $val.",\n";
}
}
答案 1 :(得分:1)
if(isset($_SESSION['CheckboxGroup1'])){ // add && is_array($_SESSION['CheckboxGroup1']) to check its an array or not
foreach ($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1results .= $val.",\n";
}
}
答案 2 :(得分:0)
尝试var_dump()你的会话以查看里面的内容:)很可能是设置了值而不是数组,所以你可以使用is_array()函数来检查你的值
答案 3 :(得分:0)
只需使用......
if(isset($_SESSION['CheckboxGroup1'])){
foreach ($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1results .= $val.",\n";
}
}
答案 4 :(得分:0)
您必须检查是否设置了复选框,因为空复选框不会发布值
if(isset($_SESSION['CheckboxGroup1']) {
foreach($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1result .= $val.", \n";
}
}
答案 5 :(得分:-1)
只需使用if语句验证?
foreach ($_SESSION['CheckboxGroup1'] as $val) {
if ($val !==""){
$checkbox1results .= $val.",\n";
} else {
echo "Please tick an option";
}