Bonjour,
j'ai un site internet monopage avec un formulaire de contact en bas. J'ai voulu y integré un reCaptcha V3 afin d'arreter les spams. Cependant, au bout de 2 minutes de navigation, le "Token" est invalidé. J'ai donc essayé de trouver une solution en ajax
et mon script d'envoie des information vers mon fichier php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <script> grecaptcha.ready(function() { document.getElementById('contacte').addEventListener("submit", function(event) { event.preventDefault(); grecaptcha.execute('maclé', {action: 'homepage'}).then(function(token) { document.getElementById('recaptchaResponse').value = token; document.getElementById('contacte').submit(); }); }, false); }); </script>
Malgré cela, l'envoie au php semble ce déroulé avant la génération de mon grecaptcha
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $('#contacte').on('submit', function() { var nom=$('#name').val(); var contenu=$('#message').val(); var captcha=$('#recaptchaResponse').val(); var form = $(this); var formParams = form.serialize(); $.ajax( { url: 'mail.php', type: 'POST', traditional: true, data: { name:nom,message:contenu,recaptcha_response:captcha }, success: function(data){ } }) return false; });
Je suis novice, et je pêche sur ca depuis un moment sans trouver de solutions.
Je vous mets egalement mon formulaire
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <form id="contacte" action="#" method="post"> <div class="fields"> <div class="field half"> <input type="text" name="name" id="name" placeholder="Nom" value="azer" /> </div> <div class="field half"> <input type="email" name="email" id="email" placeholder="Email" value="julien.jeunepapa@gmail.com"/> </div> <div class="field"> <textarea name="message" id="message" placeholder="Message" rows="7">vcfbfhgf</textarea> </div> </div> <ul class="actions"> <li><input id="envoiemail" type="submit" value="Envoyer" class="button primary" /> </li> <li>Ce site est protégé par reCAPTCHA et Google <a href = "https://policies.google.com/privacy"> Politique de confidentialité </a> et Les <a href = "https://policies.google.com/terms"> conditions d'utilisation </a> s'appliquent. </li> </ul> <input type="hidden" name="recaptcha_response" id="recaptchaResponse"> </form>
Partager