neo87
Anmeldedatum: 11.03.2007 Beiträge: 1
|
Verfasst am: 11.03.2007, 14:40 Titel: Bei Fehleingabe werden Einträge nicht angezeigt |
|
|
Hallo!
Ich habe heute mal euer Zahlencaptcha in mein Gästebuch eingebaut, es läuft auch gut, nur habe ich ein Problem: Sobald jemand einen falschen Code, bzw. irgenwelchen Umsinn in das Feld, wo der Code abgefragt wird, eintippt werden meine bisherigen Einträgen nichtmehr angezeigt, hier habe ich mal den Code meines selbst geshriebenen Gästebuches, in diesem Fall mit dem Rechencaptcha, wegen der Übesicht und weil der Fehler ohnehin bei beiden Auftritt:
guestbook.php:
<?php
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if($sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
// Dateiname in Variable speichern
$datei = "comment.txt";
// Variable Kommentar gesetzt? Name und E-Mail nicht leer?
if (isset($_POST['comment']) && $_POST['name'] != "" && $_POST['email'] != "" )
{
$comment = $_POST['comment'];
$name = $_POST['name'];
$email = $_POST['email'];
$comment = explode(" ", $comment);
$l=count($comment);
$counter=0;
while($counter<=$l) {
$comment[$counter] = wordwrap($comment[$counter], 106, "<br />", 1);
$counter++;
}
$comment=implode(" ", $comment);
// Datei wird zum Schreiben-Lesen geöffnet
$zeiger = fopen($datei, "r+");
// alte Daten herauslesen und in $alt sichern
$alt = fread($zeiger, filesize($datei));
// E-Mail-Link entsteht
$email =$email;
// Datum ermitteln und formatieren
$datum = date("d.m.Y");
$zeit = date("H:i:s");
// HTML-Zeichen maskieren, Slashes entfernen, Zeilenumbrüche erhalten
$comment = stripslashes(nl2br($comment));
// Meinung "zusammensetzen"
$meinung="<p>$name [$email] schrieb am $datum um $zeit:<br>$comment\n</p>\n";
// Cursor zum Anfang
rewind($zeiger);
// neue Meinung vor alte in Datei schreiben:
fwrite($zeiger, "$meinung \n $alt");
// Datei schließen
fclose($zeiger);
}
// Datei anzeigen
readfile($datei);
}
?>
Ich würde mich sehr über einen Tipp freuen, was da falsch läuft! |
|