eingegebenes Ergebnis immer falsch

Hier werden Probleme rund um das Rechen Captcha behandelt

Moderator: frameguard

eingegebenes Ergebnis immer falsch

Beitragvon LukSch » 02.04.2007, 19:22

Moin Moin!

Ich hatte damals ja schon das Rechen Captcha bei meinem Forum eingebaut, wo mir der Admin geholfen hatte und mir das Script angepasst hatte.

Jetzt will ich es in mein selbst gebasteletes Kommentar Script einbauen.
Leider kommt immer wieder der Fehler, dass das eingegebene Captcha Ergebnis falsch sei.
Begutachten kann man alles unter http://luksch.freeprojekt.de/direct_acc ... ?news_ID=3

Man füllt das Formular unten aus und klickt absenden. Darauf werden alle Daten per "POST" an eine Datei geschickt, wo PHP alles auswertet und zur Datei zurück leitet. Dies ist für mich notwendig, damit ich alle PHP Auswertungen in einer Datei hab, da ich noch einige Funktionen hab, die ausgewertet werden müssen (tut jetzt allerdings nichts zur Sache ;-) )

Die "direct_access.php" (Ausschnitt, der Rest dürfte nicht relevant sein):
Code: Alles auswählen
        <tr>
            <td align="left" valign="top"><img src="rechen-captcha.php" alt="" border="0" /></td>
            <td align="left" valign="top"><input name="sicherheitscode" type="text" size="4" id="sicherheitscode"></td>
        </tr>


und die "schutz.inc.php" (wird von regi.php eingebunden, ausschnitt dieser Funktion, die anderen Fuktionen dürften nicht relevant werden, da sie nicht aufgerufen werden):
Code: Alles auswählen
//Anweisungen zum eintragen von Kommentaren!
if ($action == 'commentar') {
   //Daten auslesen
   $comment_userid  = $_POST['comment_userid'];
   $comment_news    = $_POST['comment_news'];
   $comment_ip      = $_POST['comment_ip'];
   $comment_host    = $_POST['comment-host'];
   $comment_time    = $_POST['comment_time'];
   $comment_referer = $_POST['comment_referer'];
   $comment_name    = $_POST['comment_name'];
   $comment_text    = $_POST['comment_text'];
   $sicherheitscode = $_POST['sicherheitscode'];
   
   //Daten umwandeln
   $comment_text=nl2br($comment_text);
   $comment_text=eregi_replace("\n", "", $comment_text);

   //Sicherheitscode überprüfen
   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);
       }

       $sicherheitseingabe = encrypt($sicherheitscode, "29jfkd921");
       $sicherheitseingabe = str_replace("=", "", $sicherheitseingabe);
       if($sicherheitseingabe == $_SESSION["rechen_captcha_spam"] AND $sicherheitscode == true){
          } else {
          header("Location: $comment_referer&comment_status_secure");
          exit;
          }

   //Eintragen
   $comment_SQL="INSERT INTO kommentare (comment_news,comment_userid,comment_time,comment_name,comment_text,comment_ip,comment_host) VALUES ('$comment_news','$comment_userid','$comment_time','$comment_name','$comment_text','$comment_ip','$comment_host')";
   if (mysql_query($comment_SQL))
             {
             header("Location: $comment_referer&comment_status_answer");
             exit;
             }
             else {
             header("Location: $comment_referer&comment_status_error");
             exit;
             }
   }


P.S. @ Rob [Admin]:
Der Beitrag "Wichtig: Biete zuerst lesen" hat einen Rechtschreibfehler:
Das Wort "Biete" bitte mit doppel t und ohne e, falls es "bitte" heißen soll ;-)
Mit freundliche Grüße
De Schreiner
LukSch
 
Beiträge: 3
Registriert: 02.04.2007, 19:15
Wohnort: Germany

Beitragvon LukSch » 03.04.2007, 12:34

Hallo @ all,

Nachdem ich aus Langweile und Frust hier mich durch fast ALLE Beiträge gewühlt habe, ging mir auf einmal ein Gedankenblitz auf und ich schaute nach:

In der regi.php, wo die Daten übertragen werden und alles überprüft wird, fehlte etwas: session_start();. Ich probierte es aus: und es klappte!

Es war ein einziger session_start(); fehler, nur weil ich den in der zu überprüfenden Datei es vergessen hatte.

Gruß,
Lukas
Mit freundliche Grüße
De Schreiner
LukSch
 
Beiträge: 3
Registriert: 02.04.2007, 19:15
Wohnort: Germany


Zurück zu Rechen Captcha

Wer ist online?

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

cron