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 = 'Это альтернативный текст';
  • Вопрос задан
  • 263 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Вам не нужен serializeArray, используйте просто serialize()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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