Получить результат $ _POST из нескольких флажков в электронной почте

#php #html #checklistbox

#php #HTML #контрольный список

Вопрос:

У меня есть 1 форма с несколькими флажками в ней (каждый с кодом):

Этот код отображает все выбранные значения на главной странице и только последнее выбранное на мой адрес электронной почты, но я хочу получить все выбранные параметры на свой адрес электронной почты.

 <form action="test.php" method="post">
    <input type="checkbox" name="check_list[]" value="value 1">
    <input type="checkbox" name="check_list[]" value="value 2">
    <input type="checkbox" name="check_list[]" value="value 3">
    <input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
            echo $check; 
    }
}
?>
 
 $email_message = '<p><b>Your Career Interest :</b> '.$checks .'</p>
 

Комментарии:

1. Как вы заполняете $checks ?

Ответ №1:

Это потому $check , что он уже находится в цикле. Поэтому он вам нужен как запасной, например:

 <?php
if(!empty($_POST['check_list'])) {
    $checks = array();
    foreach($_POST['check_list'] as $check) {
        $checks[] = $check;
    }
    $check = implode(',', $checks);
}
?>
 

Ответ №2:

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

 $checks = array('test', 'test2', 'test3');

$email_message = '<p><b>Your Career Interests: </b> '.implode(", ", $checks) .'</p>';

echo $email_message;
 

Выводится: Ваши карьерные интересы: тест, тест2, тест3.
Я не проходил процесс создания HTML-формы и отправки POST-данных только для того, чтобы привести вам пример, но идея та же.