Bei Fehleingabe werden Einträge nicht angezeigt

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Bei Fehleingabe werden Einträge nicht angezeigt

Beitragvon neo87 » 11.03.2007, 16:40

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!
neo87
 
Beiträge: 1
Registriert: 11.03.2007, 16:33

Beitragvon frameguard » 12.03.2007, 15:57

Ist das nur ein Codefragment oder der komplette Code?

Weil daß da nix angezeigt wird, scheint mir recht logisch:
Nach
// Datei anzeigen
readfile($datei);

Kein echo und nix?
frameguard
 
Beiträge: 120
Registriert: 05.03.2007, 19:19
Wohnort: Wien


Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron