2015-11-05 3 views
0

У меня есть список, который я населяющий из моей БД в нескольких флажков, используя foreach цикл:
Как проверить несколько флажков с помощью PHP

<?php 
$sections_arr = listAllForumBoards(0, 1, 100); 
$count_board = count($sections_arr); 
$ticker = 0; 
foreach($sections_arr as $key => $printAllSections){ 
$ticker = $ticker + 1; 
$sectionId = getBoardPart($printAllSections, 'id'); 
$sectionName = getBoardPart($printAllSections, 'title'); 
$sectionSlug = getBoardPart($printAllSections, 'slug'); 

?> 
<dd><label for="<?php echo $sectionSlug; ?>"> 
<input type="checkbox" name="section[]" id="<?php echo $sectionSlug; ?>" value="<?php echo $sectionId; ?>" /> <?php echo $sectionName; ?></label></dd> 
<?php } ?> 

Список населяющего, как и ожидался. Но я хочу иметь возможность проверить, чтобы пользователь выбирал хотя бы один из флажков. Я искал здесь в SO, и я получил только одно, что было сделано с помощью JQuery, но я хочу, чтобы быть в состоянии сделать эту проверку с помощью PHP

+1

единственный способ вы можете сделать это чисто в PHP будет после того как форма отправлена, то это просто вопрос проверки был ли он установлен с 'isset()' или 'empty()' – Epodax

+0

Итак, сделав 'if (empty [" section [] "])' будет решать проблему ИЛИ существует ли конкретный способ сделать это @Epodax? –

+0

Нет, вы должны сделать это после того, как форма будет отправлена ​​на ваш '$ _POST' (или' $ _GET'), PHP не может проверить клиентскую сторону. – Epodax

ответ

1

в файле, где ваша форма представления (файл действий) добавить это условие:

if (empty($_POST['section'])) { 
    // it will go here, if no checkboxes were checked 
} 
+1

Спасибо за ваши усилия. Я смог исправить ошибку. –

+0

Добро пожаловать. – Legionar

0

В файле действий, вы должны иметь следующие

if(empty($_POST['section'])) { 
    //this means that the user hasn't selected any checkbox, redirect to the previous page with error 
} 
+0

Спасибо за ваши усилия и редактирование. Проблема решена. –

Смежные вопросы