De captcha steekt er in maar beschouwd mij als spam.
Kan iemand zeggen wat ik fout doe?
Post zowel php als jquery gedeelte.
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../css/huisstijl.css">
<link rel="stylesheet" type="text/css" href="../../css/sjabloon.css">
<link rel="stylesheet" type="text/css" href="../../css/blokken.css">
<link rel="stylesheet" type="text/css" href="../../css/navigatie.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
<title>E-services DVC Heilig Hart</title>
<script src="https://www.google.com/recaptcha/api.js?render=6Ldu8MIUAAAAAFEJd1Txxme6GNvnR72V0QmwyJrM"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style>
#contactblokken
{
display:flex;
flex-direction:row;
}
ol
{
float:left;
margin-top:-10px;
}
ol li
{
list-style-type:none;
margin:8pt;
}
label
{
font-family:verdana;
font-size:10pt;
width:110px;
float:left;
}
#naam
{
width:200px;
}
#voornaam
{
width:200px;
}
#email
{
width:200px;
}
.button
{
color:white;
font-size:10pt;
font-weight:bold;
height:25pt;
background-color:rgb(192,154,0);
border-radius:25px;
cursor:pointer;
width:120px;
}
</style>
</head>
<body>
<div id="bovenstrook">
<img src="https://www.mijndvcheilighart.be/images/banner.jpg">
</div>
<div id="container">
<div id="linkerkolom">
<nav>
<ul>
<?php
$spagina="contact.php";
menu($db,$spagina);
?>
</ul>
</nav>
</div>
<div id="centrum">
<section id="onderwerp">
<div class="onderwerp">
<div>
<i class="far fa-envelope fa-2x onderwerpIcoon"></i>
</div>
<div>
<h2 class="h2oranje">Contact</h2>
</div>
</div>
</section>
<section id="contactblokken">
<div>
<h2 class="h2paars">DVC Heilig Hart VZW </h2>
<ul>
<li class="naastelkaar">
<div><i class="fas fa-map-marker-alt"></i></div>
<div style="margin-left:5px;"><a class="standaard" style="text-decoration:none;" href="https://www.google.co.in/maps/place/Leernsesteenweg+53,+9800+Deinze/@50.9980345,3.5473689,17z/data=!3m1!4b1!4m5!3m4!1s0x47c36c89ac882f15:0x1aa071daa376fa67!8m2!3d50.9980345!4d3.5495576" target="_blank" title="Route naar DVC Heilig Hart">Leernsesteenweg 53, 9800 Deinze, België</a></div>
</li>
<li class="naastelkaar">
<div><i class="far fa-envelope"></i></div>
<div style="margin-left:5px;"><a class="standaard" style="text-decoration:none;" href="mailto:[email protected]" title="Mail kwalitietscoördinator">[email protected]</a></div>
</li>
<li class="naastelkaar">
<div><i class="fas fa-phone"></i></div>
<div style="margin-left:5px;"><span class="standaard">09 387 77 11</span></div>
</li>
<li class="naastelkaar">
<div><i class="fas fa-fax"></i></div>
<div style="margin-left:5px;"><span class="standaard">09 387 77 00</span></div>
</li>
</ul>
</div>
<div>
<h2 class="h2paars">Stel hier jouw vraag</h2>
<form id="frmcontact" name="frmcontact" method="post" action="contact.php">
<ol>
<li><label for="naam">Naam</label>
<input type="text" name="naam" id="naam" autocomplete="on">
</li>
<li><label for="voornaam">Voornaam</label>
<input type="text" name="voornaam" id="voornaam" autocomplete="on">
</li>
<li><label for="email">E-mail</label>
<input type="email" name="email" id="email" autocomplete="on">
</li>
<li><label for="bericht">Bericht</label>
<textarea rows="15" cols="60" name="bericht" id="bericht"></textarea>
</li>
<li>
<input type="submit" value="Verzenden" id="frmcontact" name="frmcontact" class="button">
<input type="reset" value="Annuleren" id="reset" name="reset" class="button">
</li>
</ol>
</form>
<script>
// na submit form
$('#frmcontact').submit(function() {
// tegenhouden verzenden
event.preventDefault();
var naam = $('#naam').val();
var voornaam = $('#voornaam').val();
var email = $('#email').val();
var bericht = $('#bericht').val();
// aanspreken recaptacha
grecaptcha.ready(function() {
//recaptcha token
grecaptcha.execute('mijn token', {action: 'contact'}).then(function(token) {
// plaats token in form
$('#frmcontact').prepend('<input type="hidden" name="g-recaptcha-response" value="' + token + '">');
alert(token);
$.post("contact.php",{naam: naam, voornaam: voornaam, email: email, bericht: bericht, token: token}, function(result) {
console.log(result);
if(result.success) {
alert('Thanks for posting comment.')
} else {
alert('You are spammer ! Get the @$%K out.')
}
});
});;
});
});
</script>
</div>
</section>
</div>
</div>
</body>
</html>
Dit is het stuk jquery en input wordt verzonden naar php hieronder
<?php
$naam, $voornaam, $email, $bericht;$captcha;
$naam = filter_input(INPUT_POST,'naam',FILTER_SANITIZE_STRING);
$voornaam = filter_input(INPUT_POST,'voornaam',FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
$bericht = filter_input(INPUT_POST, 'bericht', FILTER_SANITIZE_STRING);
$captcha = filter_input(INPUT_POST, 'token', FILTER_SANITIZE_STRING);
if(!$captcha){
echo '<h2>Please check the the captcha form.</h2>';
exit;
}
$secretKey = "mijn sleutel";
$ip = $_SERVER['REMOTE_ADDR'];
// post request to server
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array('secret' => $secretKey, 'response' => $captcha);
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$responseKeys = json_decode($response,true);
header('Content-type: application/json');
if($responseKeys["success"]) {
echo json_encode(array('success' => 'true'));
} else {
echo json_encode(array('success' => 'false'));
}
?>
Alles lijkt in orde maar ik krijg geen enkel from verzonden. Telkens zeft hij dat ik spam ben. Kan iemand helpen?