Zdaj sem se ravno 3 ure jebal, da bi to dodal na spletno stran, ker so mi omejili dostop samo na slovenske ipje zaradi odprtega contact forma in bom expresno izginil iz googla, če tega ne uredim čimprej.
Torej imam contact form:
Imam php za ta contact form:
Zdaj jasno mi je, kako in kam dodam:
<script src='https://www.google.com/recaptcha/api.js'></script>
Jasno mi je tudi, kako in kam dodat recaptcha form:
<div class="g-recaptcha" data-sitekey="mojključ"></div>
In zadeva se tudi vklopi, funkcionira. Ampak sporočilo/mail pošlje kljub temu, da uporabnik ne klikne na captcha kljukico. Torej moram dodat nekaj v php, da bo preveril poleg ostalih 4 polj še recaptcha.
Na netu so sami bedni primeri, recimo tale:
Ki gre skupaj s tem contact formom:
Sam po sebi sicer funkcionira, ampak če rečem, da je moje znanje phpja v povojih se v bistvu ekstremno precenim v svojih sposobnostih.
Torej nekako bi moral dodat še $captcha, !captcha in ta $response v moj php, da bi pred pošiljanjem preveril še to. In nimam blage veze, kako to dodat, da bo funkcioniralo.
Torej imam contact form:
Koda:
<div class="modal fade slide left" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h3 class="modal-title" id="myModalLabel"><span style="color:#79cdeb"><center>Pošljite nam sporočilo!</center></span></h3>
</div>
<div class="modal-body">
<form id="contactform" action="contact/contact.php" method="post" class="validateform" name="send-contact">
<div id="sendmessage">Vaše sporočilo je bilo poslano. Odgovorili vam bomo v najkrajšem možnem času. Hvala!
</div>
<div class="row">
<div class="col-lg-12 field">
<input type="text" name="name" placeholder="* Vpišite svoje ime in priimek" data-rule="maxlen:4" data-msg="Prosimo, da vnesete vsaj 4 črke." />
<div class="validation">
</div>
</div>
<div class="col-lg-12 margintop10 field">
<input type="text" name="email" placeholder="* Vpišite svoj email naslov" data-rule="email" data-msg="Prosimo, da vpišete veljaven email naslov." />
<div class="validation">
</div>
</div>
<div class="col-lg-12 margintop10 field">
<input type="text" name="subject" placeholder="* Vpišite telefonsko številko" data-rule="maxlen:4" data-msg="Prosimo, da vnesete vsaj 4 črke." />
<div class="validation">
</div>
</div>
<div class="col-lg-12 margintop10 field">
<textarea rows="12" name="message" class="input-block-level" placeholder="* Prostor za vaše sporočilo ali vprašanje" data-rule="required" data-msg="Prosimo, da napišete vaše vprašanje ali sporočilo."></textarea>
<div class="validation">
</div>
<p>
<button class="btn btn-theme margintop10 pull-left" id="ContactButton" type="submit">Pošlji sporočilo</button>
<span class="pull-right margintop20">* Prosimo, da izpolnete vsa polja. Hvala!</span>
</p>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- end modal contact form -->
Imam php za ta contact form:
Koda:
<!DOCTYPE html>
<html lang="en">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<?php
include 'config.php';
error_reporting (E_ALL ^ E_NOTICE);
$post = (!empty($_POST)) ? true : false;
if($post)
{
$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);
$error = '';
if(!$error)
{
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$name." <".$email.">\r\n"
."Reply-To: ".$email."\r\n"
."Content-Type: text/plain; charset=utf-8\r\n"
."X-Mailer: PHP/" . phpversion());
if($mail)
{
echo 'OK';
}
}
}
?>
</html>
Zdaj jasno mi je, kako in kam dodam:
<script src='https://www.google.com/recaptcha/api.js'></script>
Jasno mi je tudi, kako in kam dodat recaptcha form:
<div class="g-recaptcha" data-sitekey="mojključ"></div>
In zadeva se tudi vklopi, funkcionira. Ampak sporočilo/mail pošlje kljub temu, da uporabnik ne klikne na captcha kljukico. Torej moram dodat nekaj v php, da bo preveril poleg ostalih 4 polj še recaptcha.
Na netu so sami bedni primeri, recimo tale:
Koda:
<?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;
}
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret= YOURSECRETKEY&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success==false)
{
echo '<h2>You are spammer ! Get the @$%K out</h2>';
}else
{
echo '<h2>Thanks for posting comment.</h2>';
}
?>
Ki gre skupaj s tem contact formom:
Koda:
<html>
<HEAD>
<title>recaptcha</title>
<script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body>
<H1>Recaptcha</h1>
<form id ="comment_form" action="form.php" method="post">
<input type="email" placeholder="Type your email" size="40"<br><br>
<textarea name="comment" rows="8" cols="39"></textarea><br><br>
<input type="submit" name="submit" value="Post comment"><br><br>
<div class="g-recaptcha" data-sitekey="mojključ"></div>
</form>
</body>
</html>
Sam po sebi sicer funkcionira, ampak če rečem, da je moje znanje phpja v povojih se v bistvu ekstremno precenim v svojih sposobnostih.
Torej nekako bi moral dodat še $captcha, !captcha in ta $response v moj php, da bi pred pošiljanjem preveril še to. In nimam blage veze, kako to dodat, da bo funkcioniralo.