Gästebuch cptcha einbauen?

Hallo,

ich bin gerade dabei in mein Gästebuch ein captcha einzubauen.
Doch warum wird das Grafikfeld nicht angezeigt?
Hier der Link zum Gästebuch:
http://www.pflanzspass.bplaced.net/Gaestebuch/gaeste…

Gruß haner

Also ich habe zwar nicht soviel Ahnung von der Captchasache, jedoch wird folgender Fehler angezeigt, wenn ich die captcha.php selbst aufrufe:

Die Grafik „http:// (…) /captcha/captcha.php“ kann nicht angezeigt werden, weil sie Fehler enthält."

Der Fehler wird für normal angezeigt, wenn ein Bild nicht richtig geladen worden, bzw. das Bild (wie die Fehlermeldung eigentlich schon sagt) Fehler enthält. Bspw. wenn ein Bild nicht komplett erzeugt worden ist und Teile des Bildes fehlen.

Kannst du denn eine Captchagrafik erzeugen, wenn du den Skript so aufrufst ?
Hast du den Skript selbst geschrieben oder kopiert ?

Was ich mir gut vorstellen kann ist, dass du eine Grafik laden willst, die evtl. noch gar nicht erstellt worden ist, d.h. das der PHP-Skript, welcher die Captcha erzeugt, mehr Zeit braucht zum erstellen und erst danach geladen wird.

Grüße.

Hallo haner,

um die Antzwort von Dany zu ergänzen, werden folgende Fehler von Deinem Script geschmissen:

Warning: imagecreatefrompng(captcha.PNG) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /xxx/Gaestebuch/captcha/captcha.php on line 24

Warning: imagecolorallocate() expects parameter 1 to be resource, boolean given in /xxx/Gaestebuch/captcha/captcha.php on line 25

Warning: imagettftext() expects parameter 1 to be resource, boolean given in /xxx/Gaestebuch/captcha/captcha.php on line 31

Warning: imagepng() expects parameter 1 to be resource, boolean given in /xxx/Gaestebuch/captcha/captcha.php on line 32

Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /xxx/Gaestebuch/captcha/captcha.php on line 33

Entscheidend dürfte wieder die erste Meldung sein: Wo befindet sich das Grundbild?

MfG Georg V.

captcha
hi
das das problem beim php-skript besteht, dass die graphik erstellt ist ja mal klar. nun: der doctype ist xhtml-strict, und der img tag und der input tag bei diesem captcha sind nicht korrekt geschlossen.
für weitere fehler siehe hier:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.p…
lg niemand

Ich weiß nicht, was ich jetzt noch ändern soll.
Konnt Ihr mir bitte konkrete Tipps geben.

Das wäre nett.

Gruß haner

sagen tut es bei aufruf
http://www.pflanzspass.bplaced.net/Gaestebuch/captch…

Parse error: syntax error, unexpected ’

sagt uns konkret in Zeile 5 des PHP scriptes ist ein

Hallo,
das ist das script:

<?php session_start();
if(isset($\_SESSION['captcha\_spam']) AND $\_POST["sicherheitscode"] == $\_SESSION['captcha\_spam']){ unset($\_SESSION['captcha\_spam']); <?php
session\_start(); unset($\_SESSION['captcha\_spam']); function randomString($len) { function make\_seed(){ list($usec , $sec) = explode (' ', microtime()); return (float) $sec + ((float) $usec \* 100000); } srand(make\_seed()); //Der String $possible enthält alle Zeichen, die verwendet werden sollen $possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789"; $str=""; while(strlen($str) $str.=substr($possible,(rand()%(strlen($possible))),1); } return($str); } $text = randomString(5); //Die Zahl bestimmt die Anzahl stellen $\_SESSION['captcha\_spam'] = $text; header('Content-type: image/png'); $img = ImageCreateFromPNG('captcha.PNG'); //Backgroundimage $color = ImageColorAllocate($img, 0, 0, 0); //Farbe $ttf = $\_SERVER['DOCUMENT\_ROOT']."/captcha/XFILES.TTF"; //Schriftart $ttfsize = 25; //Schriftgrösse $angle = rand(0,5); $t\_x = rand(5,30); $t\_y = 35; imagettftext($img, $ttfsize, $angle, $t\_x, $t\_y, $color, $ttf, $text); imagepng($img); imagedestroy($img); ?\> } ?\>

Hallo haner,
keine Ahnung, ob Iacta alea est schon geantwortet hat, aber auf jeden Fall sind die Zeilen 6 + 7 (jetzt hervorgehoben) fehl am Platz, Du solltest eine Session nicht zweimal starten.

<?php :session_start();
if(isset($\_SESSION['captcha\_spam']) AND $\_POST["sicherheitscode"] == $\_SESSION['captcha\_spam']){ unset($\_SESSION['captcha\_spam']); <?php session\_start();

dementsprechend ist auch am Ende eine schliessende Klammer zuviel

?>
}
?>

Noch genauer habe ich mir das jetzt nicht angesehen, weil ich dir empfehle, einfach eines der zahlreichen Beispiele aus dem Web zu übernehmen.
http://www.stoppt-den-spam.info/webmaster/captcha-tu…
http://www.peuss.com/PHP/Captcha/
http://www.phpcaptcha.org/documentation/quickstart-g…
um nur ein paar Beispiele zu nennen. Googeln nach

php captcha

fördern noch etliche andere Code-Schnippsel zutage, die Du einfach per copy + paste in deine Homepage einfügen kannst.

Viele Grüße
Marvin