Bonjour,
J'ai mis sur pied un formulaire de contact couplé à un recapcha v2 (celui où l'on coche "je ne suis pas un robot").
Le problème est que la vérification google n'est pas prise en compte. Et si j'ai une erreur ou que google demande de choisir des images pour confirmer que l'on est bien un humain, je garde ma variable en erreur et je ne peux pas générer d'envoi...
Merci du coup de pouce (PS : les clés ont volontairement été masquées)
Le code du formulaire :
Le code PHP pour la fonction envoi :
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 <!DOCTYPE html> <html> <head> <title>Contact form using Bootstrap 3.3.4</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta charset="utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel="stylesheet" href="css/animate.css"> <script src="https://www.google.com/recaptcha/api.js"></script> </head> <body style="background-color: #7e7e7e"> <div class="row"> <div class="col-sm-6 col-sm-offset-3"> <div class="well" style="margin-top: 10%;"> <h3>Send me a message</h3> <form role="form" id="contactForm" data-toggle="validator" class="shake" method="POST"> <div class="row"> <div class="form-group col-sm-6"> <label for="name" class="h4">Name</label> <input type="text" class="form-control" id="name" placeholder="Enter name" required data-error="NEW ERROR MESSAGE"> <div class="help-block with-errors"></div> </div> <div class="form-group col-sm-6"> <label for="email" class="h4">Email</label> <input type="email" class="form-control" id="email" placeholder="Enter email" required> <div class="help-block with-errors"></div> </div> </div> <div class="form-group"> <label for="message" class="h4 ">Message</label> <textarea id="message" class="form-control" rows="5" placeholder="Enter your message" required></textarea> <div class="help-block with-errors"></div> </div> <div class="g-recaptcha" data-sitekey="*****"></div> <button type="submit" id="form-submit" class="btn btn-success btn-lg pull-right ">Submit</button> <div id="msgSubmit" class="h3 text-center hidden"></div> <div class="clearfix"></div> </form> </div> </div> </div> </body> <script type="text/javascript" src="js/jquery-1.11.2.min.js"></script> <script type="text/javascript" src="js/validator.min.js"></script> <script type="text/javascript" src="js/form-scripts.js"></script> </html>
Encore merci !
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 <?php $errorMSG = ""; // NAME if (empty($_POST["name"])) { $errorMSG = "Name is required "; } else { $name = $_POST["name"]; } // EMAIL if (empty($_POST["email"])) { $errorMSG .= "Email is required "; } else { $email = $_POST["email"]; } // MESSAGE if (empty($_POST["message"])) { $errorMSG .= "Message is required "; } else { $message = $_POST["message"]; } if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])): //your site secret key $secret = '******'; //get verify response data $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']); $responseData = json_decode($verifyResponse); else: $errorMSG = 'Please click on the reCAPTCHA box.'; endif; $EmailTo = "moi@moi.com"; $Subject = "New Message Received"; // prepare email body text $Body = ""; $Body .= "Name: "; $Body .= $name; $Body .= "\n"; $Body .= "Email: "; $Body .= $email; $Body .= "\n"; $Body .= "Message: "; $Body .= $message; $Body .= "\n"; // send email $success = mail($EmailTo, $Subject, $Body, "From:".$email); // redirect to success page if ($success && $errorMSG == ""){ echo "success"; }else{ if($errorMSG == ""){ echo "Something went wrong :("; } else { echo $errorMSG; } } ?>
Partager