Souci de recaptcha
Résolu
Lucryio
Messages postés
206
Date d'inscription
Statut
Membre
Dernière intervention
-
Lucryio Messages postés 206 Date d'inscription Statut Membre Dernière intervention -
Lucryio Messages postés 206 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens vers vous car, j'ai un souci au niveau de mon reCaptcha qui ne se valide pas, qu'il soit fait ou pas fait, il ne se valide pas.
Aucune erreur d'affiche autrement,
Voici mon code :
Merci par avance pour votre aide.
Je viens vers vous car, j'ai un souci au niveau de mon reCaptcha qui ne se valide pas, qu'il soit fait ou pas fait, il ne se valide pas.
Aucune erreur d'affiche autrement,
Voici mon code :
<?php /* Si le formulaire est envoyé alors on fait les traitements */ if (!empty(stripslashes($_POST['envoye']))) { $civilite = stripslashes($_POST['civilite']); $nom = stripslashes($_POST['nom']); $expediteur = stripslashes($_POST['email']); $sujet = stripslashes($_POST['sujet']); $message = stripslashes($_POST['message']); /* Expression régulière permettant de vérifier si le * format d'une adresse e-mail est correct */ $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i'; /* Expression régulière permettant de vérifier qu'aucun * en-tête n'est inséré dans nos champs */ $regex_head = '/[\n\r]/'; /* Si le formulaire n'est pas posté de notre site on renvoie * vers la page d'accueil */ /* On vérifie que tous les champs sont remplis */ if (empty($nom) || empty($expediteur) || empty($sujet) || empty($message)) { $alert = 'Tous les champs doivent être renseignés'; } /* On vérifie que le format de l'e-mail est correct */ elseif (!preg_match($regex_mail, $expediteur)) { $alert = 'L\'adresse '.$expediteur.' n\'est pas valide'; } /* On vérifie qu'il n'y a aucun header dans les champs */ elseif (preg_match($regex_head, $expediteur) || preg_match($regex_head, $nom) || preg_match($regex_head, $sujet)) { $alert = 'En-têtes interdites dans les champs du formulaire'; } /* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */ elseif (!empty($_COOKIE['sent'])) { // Creation du message a envoyer // ----------------------------- $msg = '--' . $boundary . "\r\n" . 'Content-type: text/html; charset=utf-8' . "\r\n\r\n <html> <body> Bonjour, <br /> Ce mail à été envoyé depuis Pokemon-sunshine.pe.hu par $nom .<br /> Voici le message qu'il vous envoie : <br /> ****************************************************** <br /><br /> $message <br /><br /> ****************************************************** </body> </html>\r\n"; /* Envoi de l'e-mail */ // Ma clé privée $secret = "macleprive"; // Paramètre renvoyé par le recaptcha $response = $_POST['g-recaptcha-response']; // On récupère l'IP de l'utilisateur $remoteip = $_SERVER['REMOTE_ADDR']; $api_url = '<a href="https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$response.'&remoteip='.$remoteip.'" rel="nofollow noopener noreferrer" target="_blank">https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$response.'&remoteip='.$remoteip.'</a>'; $decode = json_decode($api_url, true); if ($decode == true) { // C'est un humain if (mail($to, utf8_decode($sujet), $msg, $headers)) { $alert = 'E-mail envoyé avec succès'; /* On détruit la variable $_POST */ unset($_POST); } else { $alert = 'Erreur d\'envoi de l\'e-mail'; } } else { echo 'La véification du captcha est mauvaise.'; } } /* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */ else { unset($_POST); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="fr"> <head> <title>Contactez moi</title> <meta http-equiv="content-type" content="text/html;charset=utf-8(sans BOM)" /> </head> <body> <?php if (!empty($alert)) { echo '<p style="color:red">'.$alert.'</p>'; } ?> <form action="" method="post"> <p> <label for="nom">Pseudo :</label> <input type="text" id="nom" name="nom" value="<?php echo $membre['pseudo'];?>" readonly="readonly" /> </p> <p> <label for="email">E-mail :</label> <input type="text" id="email" name="email" value="<?php $mailmembre = $bdd->query("SELECT * FROM membres WHERE ID='".$ID."'")->Fetch(); echo $mailmembre['email'];?>" readonly="readonly"/> </p> <p> <label for="sujet">Titre du message :</label> <input type="text" id="sujet" name="sujet" placeholder="Mettre le titre" /> </p> <p> <label for="message">Message :</label> <textarea id="message" name="message" cols="40" rows="4"></textarea> </p> <p> <div class="g-recaptcha" data-sitekey="6LcZsRcUAAAAAJ0rGOK0SdHcbpyGbB6WE9CqIGHe"></div> </p> <p> <input type="submit" name="envoye" value="Envoyer" /> </p> </form> </body> </html>
Merci par avance pour votre aide.
A voir également:
- Captcha invalide
- Je ne suis pas un robot recaptcha confidentialité - conditions ✓ - Forum Mail
- Comment débloquer "je ne suis pas un robot" ✓ - Forum Windows 8 / 8.1
- Désactiver un robot captcha - Forum Facebook
- Je ne suis pas un robot ne marche pas. J'en suis un ??!! - Forum Windows 8 / 8.1
- Recaptcha impossible ✓ - Forum Mozilla Firefox
1 réponse
Bonsoir,
Commence par ajouter les deux lignes suivantes au tout début de ton fichier php (juste après ta première balise <?php )
Ensuite, tu peux essayer ceci :
https://fr.jeffprod.com/blog/2014/installez-le-nouveau-captcha-de-google-sur-votre-site-en-php.html
ou sinon là :
https://github.com/google/recaptcha
Commence par ajouter les deux lignes suivantes au tout début de ton fichier php (juste après ta première balise <?php )
error_reporting(E_ALL); ini_set('display-errors','on');
Ensuite, tu peux essayer ceci :
https://fr.jeffprod.com/blog/2014/installez-le-nouveau-captcha-de-google-sur-votre-site-en-php.html
ou sinon là :
https://github.com/google/recaptcha
Lucryio
Messages postés
206
Date d'inscription
Statut
Membre
Dernière intervention
Merci beaucoup pour ton aide, jordan, c'est résolu, ça fonctionne à la perfection ;)