ik probeer captcha toe te passen in een reeds bestaande php site.
het gaat om het beveiligen van het gastenboek.

ik heb het volgende formulier om het gastenboek te vullen:

<?php


include "config.php";
include "connect.php";
include "include.php";

echo $mtabel;
echo "" .$mtd1. "Bericht toevoegen";
echo $etd1;
echo "" .$mtd2. "<form method=\"post\" action=\"index.php?p=10\" name=\"gastenboek\"> ";
echo " Titel: <br> ";
echo " <input type=\"text\" name=\"titel\" size=\"30\" maxlength=\"50\"> <br> <br> ";
echo " Naam: <br>";
echo " <input type=\"text\" name=\"auteur\" size=\"30\" maxlength=\"50\"> <br> <br>";
echo " E-mailadres: <br>";
echo " <input type=\"text\" name=\"emailadres\" size=\"30\" maxlength=\"75\"> <br> <br> ";
echo " Bericht: <br>";
echo " <textarea name=\"bericht\" cols=\"50\" rows=\"5\"></textarea> <br><br>";
// hieronder staan de smiles
echo " <a href=\"javascript:addtext('bericht',' :-) ')\"><img src=\"".$siteurl."/images/smileys/1.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-( ')\"><img src=\"".$siteurl."/images/smileys/2.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-D ')\"><img src=\"".$siteurl."/images/smileys/3.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-P ')\"><img src=\"".$siteurl."/images/smileys/4.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-S ')\"><img src=\"".$siteurl."/images/smileys/5.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-@ ')\"><img src=\"".$siteurl."/images/smileys/6.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-O ')\"><img src=\"".$siteurl."/images/smileys/7.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-$ ')\"><img src=\"".$siteurl."/images/smileys/8.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' ;-) ')\"><img src=\"".$siteurl."/images/smileys/9.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :\'( ')\"><img src=\"".$siteurl."/images/smileys/10.gif\" border=\"0\"></a>";
echo " <a href=\"javascript:addtext('bericht',' :-| ' )\"><img src=\"".$siteurl."/images/smileys/11.gif\" border=\"0\"></a><br><br>";
// hierboven staan de smiles

echo " <input type=\"submit\" name=\"toevoegen\" value=\"Toevoegen\">";
echo " </form>";
echo $etd2;
echo $etabel;

?>

Waar ik ook de image captcha.php ( aangemaakt, werkt ook in html )
neer zet niets werkt. Ik krijg wanneer ik ook maar iets in deze php code aanpas een volledig lege pagina:S.

iemand enig idee????
echo " Neem over: <br>";

echo " <input type=\"text\" name=\"norobot\" size=\"10\" maxlength=\"4\">
<img src="captcha.php"><br> <br>

dit moet ik toch wel toe kunnen voegen???

ook al voeg ik een gewoon tekst veld toe, de hele pagina wordt blank daarna:S
Het idee is opzich goed.

Je moet alleen in captcha.php een string genereren, die dan als output een afbeelding geeft met die string.

Vervolgens moet de gebruiker de tekst overnemen, en na het verzenden, gaat ie controleren of de ingetypte tekst overeen komt met de gegenereerde string.

En ik zie zo niet waar jij dit doet...
Dit is mijn captcha.php:

<?php
// het random nr. aanmaken en gecodeerd opslaan in php sessie

session_start();

$randomnr = rand(1000, 9999);
$_SESSION['randomnr2'] = md5($randomnr);

// captcha plaatje met nummer maken - afmetingen kun je aanpassen gebruikte font

$im = imagecreatetruecolor(100, 38);

// Kleurenbepaling

$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);

// zwarte rechthoek tekenen - afmetingen kun je aanpassen aan verschillende fonts

imagefilledrectangle($im, 0, 0, 200, 35, $black);

// hier - font.ttf' vervangen met de locatie van je eigen font bestand

$font = 'font.ttf';

// schaduw toevoegen

imagettftext($im, 35, 0, 22, 24, $grey, $font, $randomnr);

// randomnr. toevoegen

imagettftext($im, 20, 5, 15, 24, $white, $font, $randomnr);

// voorkomen dat afbeelding ge-cached wordt

header("Expires: Wed, 1 Jan 1997 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

// plaatje verzenden naar browser

header ("Content-type: image/gif");
imagegif($im);
imagedestroy($im);
?>

Het probleem zit voor als nog in het formulier. ALs ik iets wat in de 1ste post staat aanpas. maakt niet uit wat dan wordt het hele formulier niet meer weergegeven in de site...
als ik deze html uitvoer:

<html>
<head>
<title>html formulier met php captcha</title>
</head>

<body>

<form method="post" action="write.php">
<input class="input" type="text" name="norobot">
<img src="captcha.php"><input type="submit" value="Toevoegen">

</form>

</body>

</html>
DAN werkt hij wel :S maar nu wil ik deze html verwerken in het php formulier van de eerste post..

Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.

Reageren