I
I
i_m2020-06-03 22:19:50
reCAPTCHA
i_m, 2020-06-03 22:19:50

Recapcha - after checking, how to send to the handler for sending a letter?

Now it works, it only outputs Validation Success! or Captcha Validation Failed..!

how to do it correctly so that these messages would not be thrown out, but sent to the letter handler?
e.g. on mail.php,
if I specify action="mail.php", then I suppose that the captcha will not be relevant here at all?
look who has already installed

this, how it works

now here is the code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contact Us</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<!------ Include the above in your HEAD tag ---------->
<style>
body {
  background: -webkit-linear-gradient(left, #0072ff, #00c6ff);
}
.contact-form {
  background: #fff;
  margin-top: 5%;
  margin-bottom: 5%;
  width: 70%;
}
.contact-form .form-control {
  border-radius:1rem;
}
.contact-image {
  text-align: center;
}
.contact-image img {
  border-radius: 6rem;
  width: 11%;
  margin-top: -3%;
  transform: rotate(29deg);
}
.contact-form form {
  padding: 14%;
}
.contact-form form .row {

}
.contact-form h3 {
  margin-bottom: 8%;
  margin-top: -10%;
  text-align: center;
  color: #0062cc;
}
.contact-form .btnContact {
  width: 50%;
  border: none;
  border-radius: 1rem;
  padding: 1.5%;
  background: #dc3545;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
}
.btnContactSubmit {
  width: 50%;
  border-radius: 1rem;
  padding: 1.5%;
  color: #fff;
  background-color: #0062cc;
  border: none;
  cursor: pointer;
}
</style>

<script src="https://www.google.com/recaptcha/api.js?render=6LeVCgAVAAAAAPonFOaJR4xooOqYh6GUzlYs7gMp"></script>
<?php
if(isset($_POST) && isset($_POST["btnSubmit"]))
{
  $secretKey 	= '6LeVCgAVAAAAAO_lCUaQEeC9sbYI9kcaIp2GsdGj';
  $token 		= $_POST["g-token"];
  $ip			= $_SERVER['REMOTE_ADDR'];
  
  $url = "https://www.google.com/recaptcha/api/siteverify";
  $data = array('secret' => $secretKey, 'response' => $token, 'remoteip'=> $ip);
 
  // use key 'http' even if you send the request to https://...
  $options = array('http' => array(
    'method'  => 'POST',
    'content' => http_build_query($data)
  ));
  $context  = stream_context_create($options);
  $result = file_get_contents($url, false, $context);
  $response = json_decode($result);
  if($response->success)
  {
    echo '<center><h1>Validation Success!</h1></center>';
  }
  else
  {
    echo '<center><h1>Captcha Validation Failed..!</h1></center>';
  }
  
  
}
?>

</head>
<body>
<div class="container contact-form">
  <form method="post">

  	<input type="hidden" id="g-token" name="g-token" />
    <h3>Have a Question? Write us</h3>
    <div class="row">
      <div class="col-md-6">
        <div class="form-group">
          <input type="text" name="txtName" class="form-control" placeholder="Your Name *" value=""  />
        </div>
        <div class="form-group">
          <input type="text" name="txtEmail" class="form-control" placeholder="Your Email *" value=""  />
        </div>
        <div class="form-group">
          <input type="text" name="txtSubject" class="form-control" placeholder="Subject *" value=""  />
        </div>
      </div>
      <div class="col-md-6">
        <div class="form-group">
          <textarea name="txtMsg" class="form-control" placeholder="Your Message *" style="width: 100%; height:140px;" ></textarea>
        </div>
      </div>
    </div>
    <div class="row">
    	<div class="col-12">
        	<div class="form-group">
              <input type="submit" name="btnSubmit" class="btnContact" value="Send Message"  />
            </div>
        </div>
    </div>
  </form>
</div>

<script>
grecaptcha.ready(function() {
    grecaptcha.execute('6LeVCgAVAAAAAPonFOaJR4xooOqYh6GUzlYs7gMp', {action: 'homepage'}).then(function(token) {
    
       document.getElementById("g-token").value = token;
    });
});
</script>




</body>
</html>

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question