Page 1 sur 1

aide pour insérer le captcha de google dans mon formulaire de contact

Posté : 18 août 2021, 11:41
par flexi2202
bonjour a tous
j ai un formulaire de contact avec lequel j enregistre dans ma base de donnée le formulaire de l utilisateur comme archive
et avec lequel je reçois également en retour par mail ce fameux formulaire de contact

mais je souhaiterais lui ajouter le captcha de google

j avoue que je suis un peu perdu pour savoir comment m y prendre car a al base c est déjà un formulaire de contact que j ai adapté
je sais c est pas bien

j ai essayer de suivre ce tuto
https://nouvelle-techno.fr/actualites/i ... votre-site

mais je bloque dans al partie traitement je ne vois pas ou indiquer ce code

Code : Tout sélectionner

if(empty($_POST['recaptcha-response'])){ header('Location: index.php'); }else{ // On prépare l'URL $url = "https://www.google.com/recaptcha/api/siteverify?secret=6Ldw_9oUAAAAAMyZp2-qjvJX4xfRMEYvzS8DwSMy&response={$_POST['recaptcha-response']}"; // On vérifie si curl est installé if(function_exists('curl_version')){ $curl = curl_init($url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($curl); }else{ // On utilisera file_get_contents $response = file_get_contents($url); } // On vérifie qu'on a une réponse if(empty($response) || is_null($response)){ header('Location: index.php'); }else{ $data = json_decode($response); if($data->success){

Code : Tout sélectionner

<?php session_start(); //partie traitement base de donnee if (!empty($_POST["send"])) { //Si les variable $_POST existent et ne sont pas vide, on récupère la valeur, sinon je mets la variable $nom à NULL $name = !empty($_POST['name']) ? $_POST['name'] : NULL; $email = !empty($_POST['email']) ? $_POST['email'] : NULL; $subject = !empty($_POST['subject']) ? $_POST['subject'] : NULL; $messager = !empty($_POST['messager']) ? $_POST['messager'] : NULL; // les variables sont prêtes a êtres utilisées $name = $_POST["name"]; $email = $_POST["email"]; $subject = $_POST["subject"]; $messager = $_POST["messager"]; include ('base.php'); //préparation de la requête et des variables $sql = "INSERT INTO contact (name, email,subject, message) VALUES(?, ?, ?, ?)"; $datas = array($name,$email,$subject,$messager ); //Execution de la requete try { $requete = $bdd->prepare($sql); $requete->execute($datas); } catch(Exception $e) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($datas); } if ($requete) { $db_msg = "Vos informations de contact sont enregistrées avec succès."; $type_db_msg = "success"; header("location:reponses-formulaire.php"); } else { $db_msg = "Erreur lors de la tentative d'enregistrement de contact."; $type_db_msg = "error"; } } //fin de la transmission des données dans la table //traitement pour l'envoie du mail if (!empty($_POST["send"])) { $messager = $_POST["messager"]; $name = $_POST["name"]; $subject = $_POST["subject"]; $email = $_POST["email"]; // on entre un ou Plusieurs destinataires $to = '[email protected]'; // notez la virgule // Sujet //$subject= "une réussite"; // message $message = ' <html> <head> <title>Voici les réponses au formulaire</title> </head> <body> <p>Voici le formulaire de contact</p> <tr> <td>le prenom </td><td>' . $name . '</td></br> </tr> <tr> <td>l adresse mail </td><td>' . $email . '</td></br> </tr> <tr> <td>le prenom </td><td>' . $subject . '</td></br> </tr> <tr> <td>le textera </td><td>' . $messager . '</td></br> </tr> </body> </html> '; // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini $headers[] = 'MIME-Version: 1.0'; $headers[] = 'content-type: text/html; charset=utf-8'; // En-têtes additionnels $headers[] = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $name . "\r\n" . 'X-Mailer: PHP/' . phpversion(); // Envoi //var_dump($headers); if (mail($to, $subject, $message, implode("\r\n", $headers))) { // success message //echo "Success!<br />"; } else { // error message //echo "Fail<br />"; } } ?> <!doctype html> <html lang="fr"> <!-- debut head --> <head> <?php include("./include/head.php"); ?> <title>Formulaire de contat pour la pêche à la perle</title> <link rel="shortcut icon" href="https://phil.pecheperle.be/image/la-peche-a-la-perle.ico" type="image/x-icon"/> <meta name="description" content="Une question ,un renseignement sur la pêche a la perle du gardon? utilises le formulaire de contact "> <link rel="stylesheet" type="text/css" href="/css/banniere-menu-peche-perle.css"/> <link rel="stylesheet" type="text/css" href="/css/contact-peche-perle.css"/> </head> <!-- fin head --> <!-- debut body --> <body style="background-color:#87CEEB;" onLoad="document.getElementById('attente').style.display='none'"> <div class="containerglobal"> <div class="container1 border border-dark" style="padding: 15px;background: #ECE9E7;"> <form id="form" enctype="multipart/form-data" onsubmit="return validate()" method="post" style="background: #ECE9E7;"> <h1>Formulaire de contact</h1> <div class="form-group"> <label for="name">Nom:<span>*</span></label> <input type="text" id="name" name="name" class="form-control" placeholder="Nom" required /> </div> <div class="form-group"> <label for="email">Email:<span>*</span></label> <input type="email" class="form-control" id="email" name="email" placeholder="Email"/> </div> <div class="form-group"> <label for="subject">Sujet:</label> <input type="text" id="subject" name="subject" class="form-control" placeholder="Demande de renseignement"> </div> <div class="form-group"> <label for="messager">Le message</label> <textarea name="messager" class="form-control" id="messager" rows="3" placeholder="Message..." required ></textarea> </div> <input type="submit" name="send" value="Envoyer "/> </form> </div> </div> </body> <!-- fin du body--> </html>

Re: aide pour insérer le captcha de google dans mon formulaire de contact

Posté : 18 août 2021, 17:19
par flexi2202
en fait cela était a mettre après mon premier if