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>