Habe auf meiner Seite www.eikehoerding.de unter .gbook ein Gästebuch laufen, wenn ihr es ausprobiert funktioniert es auch. Nun hab ich versucht, auch unter www.porta-racing.de einen Captcha-Check einzubauen, dazu habe ich einfach mal die entsprechenden Zeilen meines eigenen Gb's kopiert und in das andere GB eingefügt. Das Problem besteht darin, dass PHP mir manchmal Falscher Zahlencode ausspuckt, manchmal funktioniert es aber...
Mein Gästebuch:
Zahlencode:<br>
<?php $rd = rand(0,3);
$pics = glob("./gb/*.jpg");
$werte=array("3e42R","8hlnQ","a7pYD","W6j8v");
?>
<img src="<?php echo $pics[$rd]; ?>" alt="Code"><br>
<input type="text" name="codefeld" size="25"><br<br>
Eintrag:<br>
<textarea name="gbeintrag" rows="20" cols="40"></textarea><br>
<br>
<input type="submit" value="Eintragen" name="absenden"> <input type="reset" value="Reset">
</form><br>
<?php
if(isset($absenden)){
if($codefeld == $werte[$rd]){
$dateiinhalt = file_get_contents('gbeintraege.txt');
$datei=fopen ("gbeintraege.txt","w+");
$eintrag = stripslashes($eintrag);
$daten="<hr><b>Name:</b> $name<br>
<b>Email:</b> <a href='mailto:$email'>$email</a><br>
<b>Website:</b> <a href='$url'>$url</a><br>
<b>Eintrag:</b> $gbeintrag<br>\n\n".$dateiinhalt;
fwrite ($datei,$daten);
fclose ($datei);}
else {echo"<b>Falscher Zahlencode!</b><br><br>";}
}
if(file_exists("gbeintraege.txt")){
readfile("gbeintraege.txt");
}
else {
echo ("Momentan sind keine Einträge im Gästebuch vorhanden.");
}
?>
Neues Gästebuch:
<?php $rd = rand(0,3);
$pics = glob("./gb/*.jpg");
$werte=array("3e42R","8hlnQ","a7pYD","W6j8v");
?>
<img src="<?php echo $pics[$rd]; ?>" alt="Code">
<input type="text" name="codefeld" >
<?php
if(isset($gbsubmit)){
if($codefeld == $werte[$rd]){
$content = file_get_contents ('./txt/gbuch.txt');
$data = "<div id='gb'><b>Name:</b> $name<br><b>Email:</b>
<a href='mailto:$mail'>$mail</a><br><b>Homepage:</b>
<a href='$hp'>$hp</a><br><b>Eintrag:</b>
$eintrag<br><br><hr></div>$content";
$data = stripslashes ($data);
$file = fopen ("./txt/gbuch.txt","w+");
fwrite ($file,$data);
fclose ($file);}
else {echo "Zahlencode falsch eingegeben!";}
}
if(isset($gbbearbeiten)){
$file = fopen ("./txt/gbuch.txt","w+");
$gbtext = stripslashes($gbtext);
fwrite ($file,$gbtext);
fclose ($file);
};
readfile ('./txt/gbuch.txt');
?>
Kurze Erklärung: Die letze if-Abfrage dient zum löschen der Einträge über einen Admincenter. Ihr könnt die Beiden Bücher gern ausprobieren, vllt. findet ihr ja einen Fehler, aber mir tun schon die Augen weh!
Liebe Grüße und an dieser Stelle schonmal vielen Dank an Jossif, der bestimmt wieder eine Antwort parat hat...
Dark_Dog