Есть форма с данными для отправки на почту. Проблема заключается в том, что в ней есть input[type="checkbox"]. Это выбор из 8 полей. И вот вывести этот выбор оказалось сложно. Я нашла одно решение, как можно обработать и вывести в php эти поля. Но, когда вношу эту обработку в $message для отправки на почту - выдает ошибку 500 (Internal Server Error).
Вот код формы:
<form class="remnewsc4__form" id="remnewsc4__form" enctype="multipart/form-data" method="post" >
<div class="remnewsc4__form--checkbox">
<input type="checkbox" id="additparam1" name="additparam[]" value="Установка кондиционеров">
<label for="additparam1">Установка кондиционеров</label>
<input type="checkbox" id="additparam2" name="additparam[]" value="Замена отопления">
<label for="additparam2">Замена отопления</label>
<input type="checkbox" id="additparam3" name="additparam[]" value="Перепланировка помещений">
<label for="additparam3">Перепланировка помещений</label>
<input type="checkbox" id="additparam4" name="additparam[]" value="Дизайн-проект">
<label for="additparam4">Дизайн-проект</label>
<input type="checkbox" id="additparam5" name="additparam[]" value="Черновой материал">
<label for="additparam5">Черновой материал</label>
<input type="checkbox" id="additparam6" name="additparam[]" value="Чистовой материал">
<label for="additparam6">Чистовой материал</label>
<input type="checkbox" id="additparam7" name="additparam[]" value="Мебель на заказ">
<label for="additparam7">Мебель на заказ</label>
<input type="checkbox" id="additparam8" name="additparam[]" value="Услуги клининга">
<label for="additparam8">Услуги клининга</label>
</div>
</form>
Вот кусок кода обработки именно этих полей input[type="checkbox"]:
if(empty($additparam))
{
echo("Не выбрано ни одного значения."); echo '<br>';
}
else
{
$N = count($additparam);
for($i=0; $i < $N; $i++)
{
echo('- '.$additparam[$i] . " "); echo '<br>';
}
}
Все прекрасно работает, если выводить данные просто через php, без отправки на почту.
- Замена отопления
- Перепланировка помещений
- Мебель на заказ
- Услуги клининга
Показывает только отмеченные пункты.
Но, когда я заношу этот код в тело письма $message, ничего не отправляется и выдает ошибку 500 (Internal Server Error). При этом, если я не ставлю этот кусок в тело письма, то письмо прекрасно приходит.
$message = "\n\nИмя: ".$name.
"\nnТелефон: ".$phone.
"\nnЭлектронная почта: ".$email.
"\n\nТип ремонта - ".$tiperem.
"\nОтделка стен - ".$walldecor.
"\nОтделка полов - ".$floordecor.
"\nОтделка потолков - ".$ceilings.
"\n\nДополнительные параметры для более точного расчета: ".
if(empty($additparam))
{
."\nНе выбрано ни одного значения.".;
}
else
{
$N = count($additparam);
for($i=0; $i < $N; $i++)
{
."\n- ".$additparam[$i] . ;
}
}.
"\n\nЭлектромонтаж:".
"\nРозетки/выключатели - ".$electrical2."шт
\nСветильники/люстры - ".$electrical3."шт
\nПогонаж проводки - ".$electrical4."м
\n\nОсновные параметры помещения:
\nПлощадь пола - ".$roompar1."м2
\nВысота потолка - ".$roompar2."м
\nКоличество окон - ".$roompar3."шт
\nКоличество дверей - ".$roompar4."шт
\n\n".$date."\n\n".$_SERVER['HTTP_REFERER'];
Показываю весь код тела письма, там еще много полей...
Подскажите, в чем ошибка?
Может нужно как-то иначе обрабатывать такие поля или есть определенный синтаксис для оформления тела письма.