Bonjour
je vous avoue que je suis un vrai débutant dans le développement
j'essaie de mettre en place sur mon formulaire un recaptcha V 3 mais impossible de me faire fonctionner
J'ai une page HTML pour mon formulaire
et une page PHP pour le traitement
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 <!DOCTYPE html> <html style="font-size: 16px;" lang="fr"><head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8"> <meta name="keywords" content=""> <meta name="description" content=""> <title>MOI</title> <link rel="stylesheet" href="nicepage.css" media="screen"> <link rel="stylesheet" href="echange.css" media="screen"> <script class="u-script" type="text/javascript" src="jquery-1.9.1.min.js" defer=""></script> <script class="u-script" type="text/javascript" src="nicepage.js" defer=""></script> <meta name="generator" content="Nicepage 5.8.12, nicepage.com"> <link rel="icon" href="images/favicon.png"> <link id="u-theme-google-font" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i|Open+Sans:300,300i,400,400i,500,500i,600,600i,700,700i,800,800i"> <script type="application/ld+json">{ "@context": "http://schema.org", "@type": "Organization", "name": "contact" }</script> <meta name="theme-color" content="#478ac9"> <meta property="og:title" content="echange"> <meta property="og:type" content="website"> <-- recaptcha v3 --> <script src="https://www.google.com/recaptcha/api.js?render=6LcDk88lAAAAALsYM0Kjqe1ZJsMAeqs6VKq2ah**"> </script> <script> grecaptcha.ready(function () { grecaptcha.execute('6LcDk88lAAAAALsYM0Kjqe1ZJsMAeqs6VKq2ah**', { action: 'label' }).then(function (token) { var recaptchaResponse = document.getElementById('recaptchaResponse'); recaptchaResponse.value = token; }); }); </script> <-- fin recaptcha v3 --> <meta data-intl-tel-input-cdn-path="intlTelInput/"></head> <body class="u-body u-xl-mode" data-lang="fr"> <section class="u-clearfix u-section-1" id="sec-667b"> <div class="u-container-style u-group u-shape-rectangle u-group-1"> <div class="u-container-layout u-container-layout-1"> <img class="u-absolute-hcenter-xs u-expanded u-image u-image-default" src="images/0B6FE831-78A5-4A28-B32B-00020E428D09.png" alt="" data-image-width="2000" data-image-height="600"> <p class="u-align-center u-text u-text-1" spellcheck="false">moi</p> <div class="scribens-layout" style="all: initial;"></div> <div class="scribens-layout" style="all: initial;"></div> </div> </div> <p class="u-align-center u-small-text u-text u-text-default u-text-variant u-text-2">* : Champ obligatoire</p> <div class="u-align-center u-form u-form-1"> <form action="traitement.php" class="u-clearfix u-form-custom-backend u-form-spacing-10 u-form-vertical u-inner-form" style="padding: 10px" source="custom" name="form" redirect="true" method="post"> <div class="u-form-group u-form-name u-label-none"> <label for="name-3b9a" class="u-label">Name</label> <input type="text" placeholder="Nom *" id="name-3b9a" name="nom" class="u-input u-input-rectangle" required=""> </div> <div class="u-form-group u-label-none u-form-group-2"> <label for="text-73d0" class="u-label">Saisir</label> <input type="text" placeholder="Prénom *" id="text-73d0" name="prenom" class="u-input u-input-rectangle" required="required"> </div> <div class="u-form-group u-form-phone u-label-none u-form-group-3"> <label for="text-d0fe" class="u-label">Saisir</label> <input type="tel" placeholder="Téléphone *" id="text-d0fe" name="tel" class="u-input u-input-rectangle" required="required" pattern="\+?\d{0,2}[\s\(\-]?([0-9]{3})[\s\)\-]?([\s\-]?)([0-9]{3})[\s\-]?([0-9]{2})[\s\-]?([0-9]{2})"> </div> <div class="u-form-email u-form-group u-label-none"> <label for="email-3b9a" class="u-label">Email</label> <input type="email" placeholder="Email" id="email-3b9a" name="mail" class="u-input u-input-rectangle"> </div> <div class="u-form-group u-label-none u-form-group-5"> <label for="text-cbe0" class="u-label">Saisir</label> <input type="text" placeholder="Adresse Postal" id="text-cbe0" name="adresse" class="u-input u-input-rectangle"> </div> <div class="u-form-group u-label-none u-form-group-6"> <label for="text-d41e" class="u-label">Saisir</label> <input type="text" placeholder="Code postal" id="text-d41e" name="code" class="u-input u-input-rectangle"> </div> <div class="u-form-group u-label-none u-form-group-7"> <label for="text-3025" class="u-label">Saisir</label> <input type="text" placeholder="Ville" id="text-3025" name="ville" class="u-input u-input-rectangle"> </div> <div class="u-align-left u-form-group u-form-submit"> <a href="#" class="u-btn u-btn-submit u-button-style u-btn-1">Envoyer !</a> <input type="submit" value="submit" class="u-form-control-hidden"> </div> <div class="u-form-send-message u-form-send-success"> Thank you! Your message has been sent. </div> <div class="u-form-send-error u-form-send-message"> Unable to send your message. Please fix errors then try again. </div> <input type="hidden" value="" name="recaptchaResponse"> <input type="hidden" name="recaptcha_response" id="recaptchaResponse" </form> </div> </section> </body></html>
pourriez vous me donner un coup de main ?
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150 <?php // Vérifier si le formulaire a été soumis if(isset($_POST['envoie']) && isset($_POST['reponsecaptcha'])) { // Connecter à Google avec les clés $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify'; $recaptcha_secret = '6LcDk88lAAAAALg-bJMpWh9vnS4HYAy3VqlloA**'; $recaptcha_response = $_POST['reponsecaptcha']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$recaptcha_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('secret' => $recaptcha_secret, 'response' => $recaptcha_response))); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $capcharespo = curl_exec($ch); curl_close($ch); $Reponse = json_decode($capcharespo, true); // Effectuer une action en fonction du score obtenu. if ($Reponse['score'] >= 0.5) { $nom = $_POST['nom']; $prenom = $_POST['prenom']; $tel = $_POST['tel']; $mail = $_POST['mail']; $adresse = $_POST['adresse']; $code = $_POST['code']; $ville = $_POST['ville']; $heure = date('H:i:s'); $date = date('d/m/Y'); $fichier = 'contact.vcf'; ////////////////////////////////////////////////////////////////////////////// $vcard_name = $fichier; $vcard = fopen($vcard_name, 'w+b'); fwrite($vcard, "BEGIN:VCARD\r\n"); fwrite($vcard, "VERSION:4.0\r\n"); fwrite($vcard, "FN;CHARSET=utf-8:". $prenom . ' ' .$nom ."\r\n"); fwrite($vcard, "N;CHARSET=utf-8:" . $nom . ";" . $prenom . ";;;\r\n"); fwrite($vcard, "EMAIL;TYPE=INTERNET;TYPE=PREF:" . $mail . "\r\n"); fwrite($vcard, "TEL;TYPE=CELL;TYPE=PREF:" . $tel . "\r\n"); fwrite($vcard, "ADR;TYPE=HOME;HOME;PREF;CHARSET=utf-8:".';;'. $adresse . ';' . $ville . ';;'. $code ."\r\n"); fwrite($vcard, "END:VCARD\r\n"); fclose($vcard); ////////////////////////////////////////////////////////////////////////////////////////////////////// use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require './PHPMailer-master/src/Exception.php'; require './PHPMailer-master/src/PHPMailer.php'; require './PHPMailer-master/src/SMTP.php'; date_default_timezone_set("Europe/Paris"); include('smtp.php'); $subject = "Nouveau Contact : $nom $prenom"; $message = " Date : $date<br> Heure : $heure<br> Nom : $nom<br> Prenom : $prenom<br> Tel : $tel <br> Mail : $mail<br> Adresse : $adresse<br> Code Postal : $code<br> Ville : $ville<br>"; $mail2 = new PHPMailer(); $mail2->charSet = "iso-8859-1"; $mail2->IsSMTP(); $mail2->SMTPAuth = false; $mail2->Host = $smtp_host; $mail2->Port = $smtp_ssl_port; $mail2->Username = $smtp_username; $mail2->Password = $smtp_password; $mail2->setFrom($smtp_username, $smtp_from_nom); $mail2->From = $smtp_username; //adresse denvoi correspondant au login entrée précédement //$mail2->Subject = $subject; // sujet $mail2->Subject = utf8_decode($subject); $nom2 =utf8_decode($nom); $prenom2 = utf8_decode($prenom); $fichier2 = "$nom2.$prenom2.vcf"; $mail2->AddAttachment("$fichier","$fichier2"); $mail2->AltBody = '=?UTF-8?B?' . base64_encode($message) . '?=';; //Body au format texte $mail2->msgHTML(utf8_decode($message)); $mail2->addReplyTo($smtp_username, $smtp_from_nom); $mail2->addAddress('mon adresse mail'); $mail2->IsHTML(true); // envoyer au format html, passer a false si en mode texte if(!$mail2->Send()) echo 'Erreur d\'envoi'; echo $fichier.'<br>'; unlink($fichier); ////////////////////////////////////////////////////////////////////////////// $sms = 'Date : '.$date.' Heure : '.$heure.' Nom : '.$nom = $_POST['nom'].' Prenom : '.$prenom = $_POST['prenom'].' Tel : '.$tel.' Mail : '.$mail.' Adresse : '.$_POST['adresse'].' '.$_POST['code'].' '.$ville = $_POST['ville'].''; $curl = curl_init('https://smsapi.free-mobile.fr/sendmsg?user=2******&pass=HhbR9A0LAAta**&msg=' . rawurlencode($sms)); curl_setopt($curl, CURLOPT_HEADER, false); curl_exec($curl); $statut = curl_getinfo($curl, CURLINFO_HTTP_CODE); $erreur = false; switch ($statut) { case 200: $erreur = "Message envoyé avec succès."; header("location:200.html"); break; case 400: $erreur = "Un des paramètres obligatoires est manquant."; header("location:400.html"); break; case 402: $erreur = "Trop de SMS ont été envoyés en trop peu de temps."; header("location:402.html"); break; case 403: $erreur = "Le service n'est pas activé sur l'espace abonné, ou login / clé incorrect."; header("location:403.html"); break; case 500: $erreur = "Erreur côté serveur. Veuillez réessayez ultérieurement."; header("location:500.html"); break; } if ($erreur !== false) { echo $erreur; } curl_close($curl); } else { // Vous n'avez pas vérifier si l'utilisateur est un humain ou un robot. Afficher le message d'erreur. } } ?>
D'avance un grand merci pour votre aide







Répondre avec citation

Partager