rexmiller Posted August 6, 2015 Share Posted August 6, 2015 Hello All! I am hoping you can help me out here. Does anyone have any experience with Google's reCaptcha? I don't have a lot of experience with PHP. I have designed numerous web sites and am very familiar with html(5) and css(3). I can easily add the reCaptcha widget to my form and it displays correctly. However, I have no clue how to update my PHP file for the server side processing (verifying the user's response). Below is the code for my bootstrap contact form section and the code for my PHP file. You can view the "guide" that google provides here: https://developers.google.com/recaptcha/docs/verify but it did me no good. HTML (contact section): <!-- Contact Section --><section id="contact"><div class="container"><div class="row"><div class="col-lg-12 text-center"><h2>Contact Me</h2><hr class="star-primary"></div></div><div class="row"><div class="col-lg-8 col-lg-offset-2"><form name="sentMessage" id="contactForm" novalidate><div class="row control-group"><div class="form-group col-xs-12 floating-label-form-group controls"><label>Name</label><input type="text" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name."><p class="help-block text-danger"></p></div></div><div class="row control-group"><div class="form-group col-xs-12 floating-label-form-group controls"><label>Email Address</label><input type="email" class="form-control" placeholder="Email Address" id="email" required data-validation-required-message="Please enter your email address."><p class="help-block text-danger"></p></div></div><div class="row control-group"><div class="form-group col-xs-12 floating-label-form-group controls"><label>Phone Number</label><input type="tel" class="form-control" placeholder="Phone Number" id="phone" required data-validation-required-message="Please enter your phone number."><p class="help-block text-danger"></p></div></div><div class="row control-group"><div class="form-group col-xs-12 floating-label-form-group controls"><label>Message</label><textarea rows="5" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea><p class="help-block text-danger"></p></div></div><br><div class="g-recaptcha" data-sitekey="mySitekey"></div><br><div id="success"></div><div class="row"><div class="form-group col-xs-12"><button type="submit" class="btn btn-success btn-lg">Send</button></div></div></form></div></div></div></section> PHP (where do I put the required server-side php code here?): <?php// Check for empty fieldsif(empty($_POST['name']) ||empty($_POST['email']) ||empty($_POST['phone']) ||empty($_POST['message']) ||!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)){echo "No arguments Provided!";return false;}$name = $_POST['name'];$email_address = $_POST['email'];$phone = $_POST['phone'];$message = $_POST['message'];// Create the email and send the message$to = 'myEmail'; // This is where the form will send a message to.$email_subject = "Portfolio Website Message: $name";$email_body = "You have received a new message from your portfolio website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message";$headers = "From: noreply@mydomain.com\n"; // This is the email address the generated message will be from.$headers .= "Reply-To: $email_address";mail($to,$email_subject,$email_body,$headers);return true; ?> Quote Link to comment Share on other sites More sharing options...
Muddy_Funster Posted August 7, 2015 Share Posted August 7, 2015 (edited) try checking the response with the rest of your post data: if(empty($_POST['name']) || empty($_POST['email']) || empty($_POST['phone']) || empty($_POST['message']) || !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) || $_POST['g-recaptcha-response'] === false){ //<<<--- API Docs state that the reCaptcha populates an HTML POST value with it's response ... } Edited August 7, 2015 by Muddy_Funster Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.