Hallo, ich habe ein Problem.
Ich wollte bei meinem Gästebuch ein CAPTCHA rein tun, damit keine Bots mehr Spam einträge machen können. Nur leider will das irgendwie nicht so ganz funktionieren. Und nun geht überhaupt nichts mehr.
nicht einmal mehr, wenn die Dateien original sind, ohne Captcha funktionierts.
Ich finde nicht einmal mehr den fehler.
Kann mir jemand helfen? Ich wäre echt super froh und wenn das mit dem Captcha auch gehen würde, wäre ich auch noch froh.
guestbook.php
<?PHP function UF_ConvDate($ldDatum="",$lcFormat="D",$lcModus="R"){ $ldRetVal = ""; if (!empty($ldDatum)) { if ($lcModus == "R") { // Lesen eines Feldwertes aus MySQL-Datums- oder Datums/Zeitfeld if ($lcFormat == "D") { // Datumsfeld list ($lcJahr, $lcMonat, $lcTag) = explode("-", $ldDatum); $ldRetVal = $lcTag . '.' . $lcMonat . '.' .$lcJahr; } if ($lcFormat == "DT") { // Datums-Zeitfeld $lcZeit = substr($ldDatum,strpos($ldDatum," "),10); $ldDatum = substr($ldDatum,0,strpos($ldDatum," ")); list ($lcJahr, $lcMonat, $lcTag) = explode("-", $ldDatum); $ldRetVal = $lcTag. '.' . $lcMonat . '.' . $lcJahr .$lcZeit; } } if ($lcModus == "W") { // Schreiben eines Feldwertes in MySQL-Datums- oder Datums/Zeitfeld if ($lcFormat == "D") { // Datumsfeld list ($lcTag, $lcMonat, $lcJahr) = explode(".", $ldDatum); $ldRetVal = "'".$lcJahr . '-' . $lcMonat . '-' .$lcTag."'"; } if ($lcFormat == "DT") { // Datums-Zeitfeld $lcZeit = substr($ldDatum,strpos($ldDatum," "),10); $ldDatum = substr($ldDatum,0,strpos($ldDatum," ")); list ($lcTag, $lcMonat, $lcJahr) = explode(".", $ldDatum); $ldRetVal = "'".$lcJahr . '-' . $lcMonat . '-' .$lcTag.$lcZeit."'"; } } } return $ldRetVal; } function UF\_Hyperlink($lcString="",$llDoHyperlink=true,$llDoLinebreak=false,$lcTarget="\_blank") { if ($llDoHyperlink) { $lcSearch = array ("/([\w\.\/\&\=\?\-]+)@([\w\.\/\&\=\?\-]+)\b/i", "/((ftp(7?):\/\/)|(ftp\.))([\w\.\/\&\~\=\?\-]+)\b/i", "/((http(s?):\/\/)|(www\.))([\w\.\/\&\~\=\?\-]+)\b/i"); $lcReplace = array ("[$1@$2", "](mailto:%241@%242)[$4$5](ftp%25243://%25244%25245)", "[$4$5](http%25243://%25244%25245)"); $lcString = preg\_replace ($lcSearch, $lcReplace, $lcString); } if ($llDoLinebreak) { $lcString = str\_replace("\r\n", " ", $lcString); } return $lcString; } $link = mysql\_connect("localhost","BENUTZER","PWD"); mysql\_select\_db("DATENBANK",$link); $page = $\_GET['page']; $maxItems = 5; $page = (integer)$page; if(!is\_int($page)) $page = 0; $countQuery = "SELECT COUNT(\*) FROM guestbook;"; $countResult = mysql\_query($countQuery,$link); $elements = mysql\_result($countResult,0); mysql\_free\_result($countResult); $startIndex = $page \* $maxItems; if($startIndex \> $elements) $startIndex = 0; $query = "SELECT \* FROM guestbook ORDER BY id DESC LIMIT $startIndex, $maxItems"; $result = mysql\_query($query,$link); $num = mysql\_num\_rows($result); ?\> <?PHP include '_meta/meta.html'; ?>
Guestbook
Name:
E-Mail:
Homepage:
Message:
<?PHP for ($i=0;$i < $num;$i++) {$row = mysql\_fetch\_array($result); { ?\> Von <?PHP echo $row['name']; ?>
am <?PHP echo substr(UF_ConvDate($row['datum'],"D","R"),0,10); ?>
<?PHP echo (UF_Hyperlink(nl2br($row['message']))); ?>Comment:
<?PHP echo (UF_Hyperlink(nl2br($row['comment']))); ?> <?PHP }} ?> <?PHP $startIndex = (integer)$startIndex;if($startIndex != 0) { $tmpPage = $page - 1; echo "[";}else{ echo "= $elements){echo " \>";}else{$mod = ...](%5C%22guestbook.php?page=0%5C%22)[\>](%255C%2522guestbook.php?page=%2524nextPage%255C%2522)"; } ?\> **guestbook\_erg.php** <?PHP extract($_POST);
extract($HTTP\_SERVER\_VARS); $id = $\_POST['id']; $name = $\_POST['name']; $email = $\_POST['email']; $homepage = $\_POST['homepage']; $message = $\_POST['message']; $datum = $\_POST['datum']; $datum = date('Y-m-d'); if (empty($name)) { $status .= 'Bitte **Namen eingeben! '; } if (empty($email)) { $status .= 'Bitte E-Mail eingeben! '; } if (empty($message)) { $status .= 'Bitte Mitteilung eingeben!'; } if(!empty($name) && !empty($email) && !empty($usertext)) { function mysql\_die() { echo 'Fehler: '; echo mysql\_error(); exit; } $link = mysql\_connect("localhost","BENUTZER","PWD"); mysql\_select\_db("DATENBANK",$link); $query = "INSERT INTO guestbook (id,name,email,homepage,message,datum) values('$id','$name','$email','$homepage','$message','$datum')"; $result = mysql\_query($query) or mysql\_die(); echo " "; } if(empty($name) || empty($email) || empty($message)) { ?\> <?PHP include '_meta/meta.html'; ?>
Guestbook Fehler <?PHP echo $status ?>
[zurück](javascript:history.back())
<?PHP }?\>captcha.php <?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/XFILESF"; //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); ?\>Und das weiss ich nicht, wo das hinkommt <?php session_start();
if(isset($\_SESSION['captcha\_spam']) AND $\_POST["sicherheitscode"] == $\_SESSION['captcha\_spam']){ unset($\_SESSION['captcha\_spam']); } else{ die ("Der Sicherheitscode ist falsch!"); } ?\>**