j'ai un problème que j'essaie de résoudre depuis deux jours malheureusement sans grand succès...
Je tente d'inclure dans une page Web HTML le reCaptcha:
voici le code HTML du formulaire:
Code : Tout sélectionner
<form name="feedback_form" method="post" class="feedback_form">
<input type="text" name="field-name" value="Name" title="Name" class="field-name form_field">
<div class="clear"></div>
<input type="text" name="field-email" value="Email" title="Email" class="field-email form_field">
<div class="clear"></div>
<input type="text" name="field-subject" value="Subject" title="Subject" class="field-subject form_field">
<div class="clear"></div>
<textarea name="field-message" cols="45" rows="5" title="Message" class="field-message form_field">Message</textarea>
<div class="clear"></div>
<input type="reset" name="reset" id="reset2" value="Clear form" class="feedback_reset">
<input type="button" name="submit" class="feedback_go" id="submit2" value="Send Message!">
<div class="ajaxanswer"></div>
<div class="g-recaptcha" data-sitekey="SECRET"></div>
</form>
Code : Tout sélectionner
<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
Voici le code qui est appelé pour envoyer le mail:
Code : Tout sélectionner
<?php
header('Content-Type: text/html; charset=utf-8');
function sendFeedback($feedback_email, $feedback_msg, $feedback_name, $feedback_subject) {
$admin_email = "MON MAIL";
if ($feedback_subject == "Subject" || empty($feedback_subject) ) {
$subj = "Email from your site";
} else {
$subj = $feedback_subject;
}
$message = "
<html>
<head>
<title>Email from your site</title>
</head>
<body>
<p><a href='mailto:".$feedback_email."'>".$feedback_name."</a> send this message:</p>
<p>".$feedback_msg."</p>
<p>".$subject."</p>
</body>
</html>
";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
if ($feedback_name!=="Name" && $feedback_email!=="Email" && !empty($feedback_email) && !empty($feedback_msg) && !empty($feedback_name) ) {
if ($feedback_email == "mail_error") {
echo "<span class='ajaxok'>Invalid email address.</span>";
} else {
mail($admin_email, $subj, $message, $headers);
echo "<span class='ajaxok'>Thank You! Your message has been sent.</span>";
}
} else {
echo "<span class='ajaxalert'>Please fill the required field.</span>";
}
}
sendFeedback($_POST['email'], $_POST['message'], $_POST['name'], $_POST['subject']);
?>
J'ai vraiment besoin d'aide j'espère que parmi vous je trouverais la réponse à ma question.
Merci à tous et à toutes.
PS.
Le script PHP de check devrait ressembler à quelque chose comme ceci:
Code : Tout sélectionner
<?php
$email;$comment;$captcha;
if(isset($_POST['email'])){
$email=$_POST['email'];
}if(isset($_POST['comment'])){
$email=$_POST['comment'];
}if(isset($_POST['g-recaptcha-response'])){
$captcha=$_POST['g-recaptcha-response'];
}
if(!$captcha){
echo '<h2>Please check the the captcha form.</h2>';
exit;
}
$secretKey = "Put your secret key here";
$ip = $_SERVER['REMOTE_ADDR'];
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
$responseKeys = json_decode($response,true);
if(intval($responseKeys["success"]) !== 1) {
echo '<h2>You are spammer ! Get the @$%K out</h2>';
} else {
echo '<h2>Thanks for posting comment.</h2>';
}
?>