За последние 24 часа нас посетили 17379 программистов и 1713 роботов. Сейчас ищут 1492 программиста ...

Установка recaptcha v3

Тема в разделе "Сделайте за меня", создана пользователем ZHSS81, 2 апр 2024.

Метки:
  1. ZHSS81

    ZHSS81 Новичок

    С нами с:
    2 апр 2024
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток, прошу помощи в решении вопроса, мозг вывихнул. Стоит задача внедрить reCaptcha v3 в форму отправки запроса на перезвонить. Форма реализована на ajax. Конструкция такова
    HTML:
    1. <form class="t-form" id="feedback" action="feedback">                                              
    2.     <input type="text" class="t-input" name="phone" id="phone" type="tel" autocomplete="tel">
    3.     <button type="submit" class="t-submit">Жду звонка</button>
    4. </form>
    Код (Javascript):
    1. function resetForm() {
    2.     $('#feedback')[0].reset();
    3. }
    4.     $( document ).ready(function() {
    5.         $('button[type="submit"]').click(function(){
    6.         $('#feedback').validate({
    7.         rules: {
    8.              phone: {
    9.                 required: true,
    10.             },
    11.         },
    12.         messages: {
    13.             phone: {
    14.                 required: 'Укажите номер телефона',
    15.             },
    16.         },
    17.         submitHandler: function(){
    18.              sendAjaxForm('feedback', 'mail.php');
    19.              return false;
    20.         }
    21.         });
    22.     });
    23.                 function sendAjaxForm(feedback, url) {
    24.                                 $.ajax({
    25.                                     url:      "./mail.php",
    26.                                     type:     "POST",
    27.                                     dataType: "html",
    28.                                     data: $("#"+feedback).serialize(),
    29.                                     success: function(response) {
    30.                                        
    31.                                                                              всё ОК
    32.                                         });
    33.                                     resetForm();
    34.                                     },
    35.                                     error: function(response) { // Данные не отправлены
    36.                                        
    37.                                                                              всё плохо
    38.                                                                          
    39.                                         });
    40.                                     resetForm();
    41.                                     }
    42.                                 });
    43.                 }
    44. });
    PHP:
    1. if (isset($_POST["phone"])) {
    2. $phone = $_POST['phone'];
    3. $to = 'name@mydomen.ru'; // Куда отправляем
    4. $from = 'noreply@mydomen.ru'; // От кого отправляем
    5. $subject = "Запрос обратного звонка";
    6. $message = "Телефон: $phone\n";
    7. $headers = "Content-Type: text/plain; charset=utf-8\r\n";
    8. $headers .= "From: $from\r\n";
    9. $headers .= "Reply-To: $from\r\n";
    10. $send = mail ($to,$subject,$message,$headers);
    11. }
    Как правильно установить капчу, что-бы она запускалась после проверки введен ли номер (required: 'Укажите номер телефона',)
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.858
    Симпатии:
    748
    Адрес:
    Татарстан
    согласно инструкции к recaptcha v3