#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-данных только для того, чтобы привести вам пример, но идея та же.