Если флажок группы не отмечен, возвращается ошибка - PullRequest
0 голосов
/ 04 марта 2011

У меня есть группа флажков, которая отлично работает, когда вы ставите один, но она возвращает ошибку, если все не отмечены.

Вот код:

foreach ($_SESSION['CheckboxGroup1'] as $val) {
$checkbox1results .= $val.",\n";
}

Это ошибка IЯ возвращаюсь:

Warning: Invalid argument supplied for foreach() in 
/home/medicom/public_html/memberappform1.php on line 492

Я не очень хорошо разбираюсь в php, поэтому мне нужен способ ничего не возвращать в цикле, если ничего не отмечено.

Ответы [ 6 ]

2 голосов
/ 04 марта 2011
if( is_array($_SESSION['CheckboxGroup1']) ){
    foreach ($_SESSION['CheckboxGroup1'] as $val) {
        $checkbox1results .= $val.",\n";
    }
}
1 голос
/ 04 марта 2011
if(isset($_SESSION['CheckboxGroup1'])){     // add && is_array($_SESSION['CheckboxGroup1']) to check its an array or not
   foreach ($_SESSION['CheckboxGroup1'] as $val) {
     $checkbox1results .= $val.",\n";
   }
}
0 голосов
/ 04 марта 2011

Просто подтвердить утверждение if?

foreach ($_SESSION['CheckboxGroup1'] as $val) {
if ($val !==""){
$checkbox1results .= $val.",\n";
} else {
echo "Please tick an option";
}
0 голосов
/ 04 марта 2011

Вы должны проверить, установлен ли флажок, потому что пустые флажки не публикуют значения

if(isset($_SESSION['CheckboxGroup1']) {
    foreach($_SESSION['CheckboxGroup1'] as $val) {
      $checkbox1result .= $val.", \n";
    }
}
0 голосов
/ 04 марта 2011

просто используйте ...

if(isset($_SESSION['CheckboxGroup1'])){
   foreach ($_SESSION['CheckboxGroup1'] as $val) {
   $checkbox1results .= $val.",\n";
   }
}
0 голосов
/ 04 марта 2011

попробуйте var_dump () вашего сеанса, чтобы увидеть, что внутри :) Скорее всего, значение установлено, но не массив, поэтому вы можете использовать функцию is_array () для проверки вашего значения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...