Ik heb een tot zover goed werkende reactiescript alleen de laatste tijd heb ik last van spambots. Nu heb ik gekeken op de site van reCAPTCHA dit wil ik graag toevoegen in dit script. Dit heb ik meerdere keren gedaan maar zonder resultaat. Het verzenden gaat nog steeds om de afbeelding heen. onderstaan moet ik verwerken voor de verzendknop alleen hoe.
With the code, your form might look something like this:
<form method="post" action="verify.php">
<?php
require_once('recaptchalib.php');
$publickey = "your_public_key"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
<input type="submit" />
</form>
<!-- more of your HTML content -->
Server Side (How to test if the user entered the right answer)
The following code should be placed at the top of the verify.php file:
<?php
require_once('recaptchalib.php');
$privatekey = "your_private_key";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
// Your code here to handle a successful verification
}
?>
.........................Mijn Reactiescript............................
<style type="text/css">
<!--
body,td,th {
font-family: Tahoma, Geneva, sans-serif;
font-size: 12px;
color: #747474;
}
-->
</style>
<hr />
<p> </p>
<p><strong>
<?php
mysql_connect('','','');
mysql_select_db('');
$query = 'SELECT id FROM paginas WHERE url="'.mysql_escape_string($_SERVER['REQUEST_URI']).'"';
$result = mysql_query($query);
if (mysql_num_rows($result)== 1){
$row = mysql_fetch_array($result);
$pagina_id = $row['id'];
} else {
mysql_query('INSERT INTO paginas SET url="'.
$_SERVER['REQUEST_URI'].'";');
$pagina_id = mysql_insert_id();
}
?>
</strong></p>
<p><strong><img src="../images/03.png" width="20" height="20" /> Reageer zelf</strong></p>
<p> </p>
<form method="post">
<p> </p>
<p>Naam:
<input type="text" name="naam"><br>
</p>
<p> </p>
<p>E-mail:
<input name="email" type="text" value="" />
*wordt niet getoond
<br>
</p>
<p> </p>
<p>Reactie:<br>
<textarea cols="45" rows="4" name="reactie"></textarea>
<br>
<input type="submit" value="Versturen">
</p>
</form>
<p> </p>
<br>
<?php
if (isset($_POST['naam']))
{
if($_POST['naam'] != ''
&& preg_match('#^[a-z0-9][a-z0-9_.-]{0,63}@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$#i', $_POST['email'])
&& $_POST['reactie'] != '')
{
$query = '
INSERT INTO
reactie
SET
pagina = "'.$pagina_id.'",
naam = "'.mysql_real_escape_string($_POST['naam']).'",
email = "'.mysql_real_escape_string($_POST['email']).'",
reactie = "'.mysql_real_escape_string($_POST['reactie']).'"
';
$result = mysql_query($query);
if (mysql_affected_rows() == 1)
{
echo '<p>Je bericht is opgeslagen.</p>';
}else{
echo 'Database-foutje, de reactie is niet opgeslagen.';
}
}
else
{
echo 'Reactie is niet opgeslagen, vul alles correct in';
}
}
?>
<br>
<p><strong><u>Reacties van anderen</u></strong></p>
<br>
<br>
<?php
$query = 'SELECT * FROM reactie WHERE pagina="'.$pagina_id.'"';
$result = mysql_query($query);
if (mysql_num_rows($result)== 0){
echo 'Er zijn nog geen reacties.';
} else {
while ($row = mysql_fetch_array($result)) {
// deze reactie weergeven
echo
''.$row["datumtijd"].'<br>'.$row['naam'].' zegt: '.'<br>'.'<br>'.
''.$row['reactie'].'<br>'.'<br>'.'<br />';
}
}
?>