Задать вопрос

PHP. Обрабатывается только последний отмеченный checkbox. Что не так?

Привет! Оговорюсь сразу, я в PHP ничего не знаю мне просто повесили эту задачу и сказали вертись как хочешь.
Есть сайт на Битрикс. На него вывели форму запроса с чекбоксами, но он пересылает на почту только последний отмеченный! Например если пользователь отметит 1,3,6 то придёт оповещение что пользователь отметил только 6-й чекбокс. Что, а главное "как" и "где", нужно изменить, что бы присылались данные обо всех отмеченных? Уже пытался переименовывать name в html, в этом случае приходит просто пустое письмо.
Прописывал в php "$action = trim($_POST['action[]']);" но то толку это тоже не принесло.
Очень прошу помощи.
Собственно вот html код:
<input type="checkbox" name="action" value="«Полная технология найма «ПЕРФОРМИИ»">«Полная технология найма «ПЕРФОРМИИ»<Br>
   <input type="checkbox" name="action" value="«Фундамент вашей прибыли - сделайте так, чтобы работали все»">«Фундамент вашей прибыли - сделайте так, чтобы работали все»<Br>
   <input type="checkbox" name="action" value="«Брать или не брать»">«Брать или не брать»<Br> 
   <input type="checkbox" name="action" value="«Как залатать дыру, в которой исчезает ваш доход»">«Как залатать дыру, в которой исчезает ваш доход»<Br> 
   <input type="checkbox" name="action" value="«Как увеличить доход. Философия продаж»">«Как увеличить доход. Философия продаж»<Br> 
   <input type="checkbox" name="action" value="«Теория и практика лидерского общения»">«Теория и практика лидерского общения»<Br> 
   <input type="checkbox" name="action" value="«Где взять тех, кто хочет и может работать»">«Где взять тех, кто хочет и может работать»<Br> 
   <input type="checkbox" name="action" value="«Упущенные элементы Вашего успеха. Новые решения для старых проблем»">«Упущенные элементы Вашего успеха. Новые решения для старых проблем»<Br>


И PHP:
$text1 = iconv("UTF-8","CP1251","Заявка с промо Новогодняя акция на видеотренинги в видеоклассах «ПЕРФОРМИИ»");
			$text2 = iconv("UTF-8","CP1251","ФИО: ");
			$text3 = iconv("UTF-8","CP1251","Город: ");
			$text4 = iconv("UTF-8","CP1251","Компания: ");
			$text5 = iconv("UTF-8","CP1251","Телефон: ");
			$text6 = iconv("UTF-8","CP1251","Что вы хотите приобрести по акции: ");
			$text7 = iconv("UTF-8","CP1251","Когда с вами лучше всего связаться: ");
			$text8 = iconv("UTF-8","CP1251","Внимание. Заявка с рассылки");
			$text9 = iconv("UTF-8","CP1251","Статус ЛК:");
			
			$seminar = trim($_POST['seminar']);
			$promo = trim($_POST['promo']);//iconv("CP1251","UTF-8",trim($_POST['seminar']));
			$sendto = trim($_POST['sendto']);
			
			$name = trim($_POST['name']);//iconv("CP1251","UTF-8",trim($_POST['name']));
			$company = trim($_POST['company']);//iconv("CP1251","UTF-8",trim($_POST['company']));
			$city = trim($_POST['city']);//iconv("CP1251","UTF-8",trim($_POST['city']));
			$phone = trim($_POST['phone']);//iconv("CP1251","UTF-8",trim($_POST['phone']));
			$action = trim($_POST['action']);//iconv("CP1251","UTF-8",trim($_POST['action']));
			
			
			$when = trim($_POST['when']);//iconv("CP1251","UTF-8",trim($_POST['when']));
			$license = trim($_POST['license']);//iconv("CP1251","UTF-8",trim($_POST['license']));
			$sender = trim($_POST['sender']);
			$checkbox = trim($_POST['checkbox']);
  • Вопрос задан
  • 346 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Lord_Aectan Автор вопроса
Всем спасибо за ответы! вопрос решил следующим образом: В файле надо trim($_POST['action']); заменить на implode(", ", $_POST['action']);

name="action" заменить на name="action[]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@krypt3r
Про name="action[]" у всех чекбоксов уже было или я первый?
Ответ написан
@bears
<input type="checkbox" name="action[]" value="">
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Доброе утро.
<input type="checkbox" name="action[]" value="«Фундамент вашей прибыли - сделайте так, чтобы работали все»">«Фундамент вашей прибыли - сделайте так, чтобы работали все»<Br>
Ответ написан
Комментировать
Вы массив в php обрабатываете как строчку
$action = trim($_POST['action']);

Нужно просто принять его:
$action = $_POST['action'];

foreach ($action as $k => $v) {
    $action[$k] = trim($v);
}


Ну и про name="action[]" не забывайте :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы