Задать вопрос
egor_arinov
@egor_arinov
Веб-разработчик

Как исправить, что вместо массива на почту приходит «Array»?

Есть форма на сайте, с несколькими вариантами ответа.
Отправляю всё через smtp.yandex по ajax
Суть в чём. Все данные приходят нормально, а если несколько вариантов ответа, то вместо значений - "Array"
Перебираю циклом foreach, но точно не уверен, что дальше отправляю правильно.

HTML:
<div class="step1-center__areas">
 <div class="step1-center__area" id="a1" data-id="1">
  <input type="checkbox" name='area[]' id="first" data-id="1" value="Верх-Исетский район">
  <label class="text-container" for="first" data-id="1">
   <span>Верх-Исетский район</span>
  </label>
 </div>
 <div class="step1-center__area" id="a2" data-id="2">
  <input type="checkbox" name='area[]' id="second" data-id="2" value="Железнодорожный район">
   <label class="text-container" for="second" data-id="2">
    <span> Железнодорожный район </span>
   </label>
 </div>
 <div class="step1-center__area" id="a3" data-id="3">
  <input type="checkbox" name='area[]' id="third" data-id="3" value="Орджоникидзевский район">
   <label class="text-container" for="third" data-id="3">
    <span>Орджоникидзевский район</span>
   </label>
 </div>


AJAX:
$(document).ready(function() {
				          $("#submit").on('click', function() { //Change
				            // var th = $('#tel')
				            var th = $('#myForm').serializeArray();
				            $.ajax({
				              type: "POST",
				              url: "mailer/smart.php", //Change
				              data: th
				            }).done(function() {
				              console.log(th);
				              $('.overlayThanks').show();
				            });
				            return false;
				          });
				        });


PHP:
$mail->Subject = 'Проверка';
 $mail->Body    = '
		Пользователь оставил свои данные <br>'
		foreach ($_POST['area'] as $key=>$value) echo "$value <br>";
		$area = implode($_POST['area']);
		'Район: ' . $_POST[$body] . ' <br>
		Количество комнат: ' . $_POST['Rom'] . ' <br>
		Площадь: ' . $_POST['house'] . ' <br>
		Ремонт: ' . $_POST['repairs'] . ' <br>
		Бюджет: ' . $_POST['budget'] . ' <br>
		Способ оплаты: ' . $_POST['ways'] . ' <br>
                Телефон: ' . $_POST['tel'] . '';
 $mail->AltBody = 'Это альтернативный текст';
  • Вопрос задан
  • 284 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Вам не нужен serializeArray, используйте просто serialize()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽