Форма обратной связи php
Делаю форму обратной связи. Создал ящик на домене, ограничений на использование php mail() нет.
Выдает ошибку
Uncaught SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at Object.error ((index):499)
at j (jquery.min.js:2)
at Object.fireWith [as rejectWith] (jquery.min.js:2)
at x (jquery.min.js:4)
at XMLHttpRequest.<anonymous> (jquery.min.js:4)
Привожу код
html:
<form class="main-order-form m1-form" id="order" action="send.php" method="POST" > <!--onsubmit="return false;"-->
<input class="field" type="text" name="name" placeholder="Введите Ваше имя" required>
<input class="field" type="tel" name="phone" placeholder="Введите телефон" required>
<button class="button-m big">Сделать заказ</button>
<input type="hidden" name="l" value="018f34ed24d296ba9a1540a7a90067e1c313ad2e" />
<input type="hidden" name="4eb467bfde0b9c6c56ff776ae697d80f89acfcdc" value="OGIyYjc1NTkyYmY1ZjAyOWUyMDhmNjllNGUyNjM4YWM0Mzc=" />
</form>
и php:
<?php
if (!empty($_POST['name']) AND (!empty($_POST['phone']))){
$headers = 'From: http://shopforeo.ru/\r\n'. 'Reply-To: [email protected]\r\n'. 'X-Mailer: PHP/'. phpversion();
$theme = 'Новое сообщение';
$letter = 'Данные сообщения:\r\n';
$letter .='Имя: '.$_POST['name'].'\r\n';
$letter .='Телефон: '.$_POST['phone'].'\r\n';
echo $letter;
if (mail('[email protected]', $theme, $letter, $headers)){
echo "Сообщение отправлено!";
} else {
echo "Ошибка при отправке!";
}
} else {
echo "Ошибка: Заполните все поля!";
}
if(!empty($_POST)) print_r($_POST);
?>
Ответы (1 шт):
Автор решения: Borislav
→ Ссылка
Предполагаю, что вы не тот код показываете, ошибка с фронта, там где вы json парсите, наверно в success у ajax (XMLHttpRequest).
echo $letter, - сюда упираетесь, сделайте echo json_encode ($letter) и пропадет ваша ошибка скорее всего.