Je suis nouveau à cette chose google Recaptcha. J'essaie de comprendre ce qui ne fonctionne pas. J'ai essayé plusieurs autres codes et ils ne fonctionnent pas aussi bien que je ne sais pas pourquoi.En ce qui concerne mon code pour Google Recaptcha
Ceci est mon code sous forme
<form name="contact_form" method="post" action="functions.php">
<input type="text" id="fname" name="full_name" placeholder="Full Name" required />
<input type="number" id="pnumber" name="phone_number" placeholder="Phone Number" required />
<input type="email" id="emailid" name="email_address" placeholder="Email Address" required />
<textarea placeholder="Message" name="message" required></textarea>
<span><input type="checkbox" id="disclaimerid" class="disclaimerclass" name="agreement" value="Agree" required>I have read and agreed with the <a class="dataPrivacyLink" href="#">(Data Protection and Privacy Policy)</a> of Hello World</span>
<div class="g-recaptcha" data-sitekey="--PUBLIC KEY--"></div>
<input type="submit" name="sendmessage" class="send-message" value="SUBMIT NOW" />
</form>
Et voici mon code PHP
<?php
function post_captcha($user_response) {
$fields_string = '';
$fields = array(
'secret' => '_______________PRIVATE_KEY_______________',
'response' => $user_response
);
foreach($fields as $key=>$value)
$fields_string .= $key . '=' . $value . '&';
$fields_string = rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/recaptcha/api/siteverify');
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, true);
}
// Call the function post_captcha
$res = post_captcha($_POST['g-recaptcha-response']);
if (!$res['success']) {
// What happens when the CAPTCHA wasn't checked
echo '<p>Please go back and make sure you check the security CAPTCHA box.</p><br>';
} else {
// If CAPTCHA is successfully completed...
// Paste mail function or whatever else you want to happen here!
$send;
if(isset($_POST['email_address']))
{
$send="Your inquiry submitted successfully. we will contact you very soon. ";
send_message_to_agent($_POST['full_name'], $_POST['phone_number'], $_POST['email_address'], $_POST['message']);
}
else
{
$send="fail";
}
function send_message_to_agent($full_name, $phone_number, $email_address, $visiter_message){
$to = '[email protected]';
$subject = 'Hello World';
$message = '<p>Name : '.$full_name.'</p>';
$message .= '<p>Phone Number : '.$phone_number.'</p>';
$message .= '<p>Email Address : '.$email_address.'</p>';
$message .= '<p>Message : '.$visiter_message.'</p>';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);
}
echo $send;
//die;
}
// Your code here to handle a successful verification
/>
Avez-vous remplacé cette ligne par votre propre clé privée? "'secret' => '_______________PRIVATE_KEY_______________'," –
Oui, j'ai remplacé cette ligne par ma propre clé privée, je l'ai juste retirée car je colle le code ici :) – HELLOHK