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

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

Войти через центр авторизации
Похожие вопросы