Проблема с формой обратной связи на сайте
Всем привет.
Вопрос, возможно, очень простой. Но я не могу понять, что не так.
Сайт на движке WP.
Есть форма обратной связи. Обработка происходит через ajax, дальше вызывается файл php обработчик.
В итоге, если форма успешно отправлена, появляется надпись "Спасибо, мы скоро Вам перезвоним" и кнопка закрыть. Если нажать на эту кнопку, форма закрывается. Тут все ок, но если сразу открыть форму еще раз, то она будет совсем пустая. То есть ни формы html, ни надписи "Спасибо, мы скоро Вам перезвоним". Просто пустая форма.
Если открыть другую страницу сайту и снова нажать на кнопку, то снова появляется html форма.
Подскажите, пожалуйста, почему так происходит.
Код HTML:
<div class="form__modal">
<form action="/wp-content/themes/ces-urgent/telegram.php" method="POST">
<div class="form__title">Заполните форму и мы Вам перезвоним! <div class="form__modal-close"><span></span><span></span></div></div>
<input type="text" name="form_name" placeholder="Ваше имя *" required>
<input type="text" name="form_phone" placeholder="Номер телефона *" required>
<input type="email" name="form_email" placeholder="Ваш email">
<input type="text" name="form_work" placeholder="Ваша должность *" required>
<input type="text" name="form_test" placeholder="Наименование теста">
<textarea name="form_comment" placeholder="Ваш комментарий"></textarea>
<label for="phone__checkbox"><input type="checkbox" name="phone__checkbox" id="phone__checkbox">Перезвоните мне как можно скорее (разрешение на звонок после 21:00)</label>
<label for="submit__checkbox"><input type="checkbox" id="submit__checkbox" name="submit__checkbox" required>Я даю согласие на обработку моих персональных данных</label>
<input type="hidden" id="token" name="token">
<input type="submit" value="Отправить заявку">
</form>
</div>
Код JS:
jQuery(document).ready(function($) {
$(".form__modal form").submit(function() {
var str = $(this).serialize();
$.ajax({
type: "POST",
url: "/wp-content/themes/ces-urgent/telegram.php",
data: str,
success: function(msg) {
if(msg == 'OK') {
result = msg;
}
else {result = msg;}
$('.form__modal form').html(result);
}
});
return false;
});
});
$(document).on("click", ".okey__modal-close", function(e) {
$('.mask').fadeOut();
$('.form__modal').fadeOut();
$('body').css('overflow', '');
});
Код PHP:
<?php
$secretKey = '6LdQ7NoZAAAAAJIzysSRXxc4xLiQkmuR_q-nqVtV';
function returnReCaptcha($token, $secretKey) {
// URL куда отправлять токин и секретный ключ
$url = 'https://www.google.com/recaptcha/api/siteverify';
// Параметры отправленных данных
$params = [
'secret' => $secretKey, // Секретный ключ
'response' => $token, // Токин
'remoteip' => $_SERVER['REMOTE_ADDR'], // IP-адрес пользователя
];
// Делаем запрос
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Отправляем запрос
$response = curl_exec($ch);
// Возвращаем массив полученных данных
return json_decode($response, true);
}
// Проверка, что есть POST запрос
if ($_POST) {
$success = returnReCaptcha($_POST['token'], $secretKey);
if ($success['success'] == 1){
$name = $_POST['form_name'];
$phone = $_POST['form_phone'];
$email = $_POST['form_email'];
$work = $_POST['form_work'];
$test = $_POST['form_test'];
$comment = $_POST['form_comment'];
$checkbox = $_POST['phone__checkbox'];
$token ='1303235089:AAG0J-PAG1XpMrtYhzLAN-Wh02C09s3MZJs';
$chat_id ='-460324684';
$arr = array(
'Имя пользователя: ' => $name,
'Телефон: ' => $phone,
'Должность: ' => $work,
'Тест: ' => $test,
'Комментарий: ' => $comment,
'Перезвоните мне побыстрее!: ' => $checkbox
);
foreach($arr as $key => $value) {
if($value != "" and $value != "off"){
$txt .= "<b>".$key."</b> ".$value."%0A";
}else{
unset($arr[$key]);
}
};
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
if ($sendToTelegram) {
echo '<div class="ok">
<div class="form__title">
Спасибо, мы скоро с Вами свяжемся!
</div>
<button class="okey__modal-close">Спасибо</button>
</div>';
} else {
echo '<div class="ok">
<div class="form__title">
Что-то пошло не так. Попробуйте еще раз. <div class="form__modal-close"><span></span><span></span></div>
</div>
<button class="okey__modal-close">Спасибо</button>
</div>';
}
} else {
echo '<div class="ok">
<div class="form__title">
Что-то пошло не так. Попробуйте еще раз. <div class="form__modal-close"><span></span><span></span></div>
</div>
<button class="okey__modal-close">Спасибо</button>
</div>';
}
}
?>
Буду признателен за ответ. Всем хорошего дня!