[PHP5] Zufallscode wird immer falsch gewertet

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    also ich habe mich selbst noch mal an die arbeit gemacht. es funktioniert mit dem captcha, aber die einträge werden jetzt nicht gemacht. kann mir da noch einer helfen? ausprobieren könnt ihr das ganze unter: http://www.schmidt-meik.de/gaestebuch.php. da könnt ihr testeinträge machen um mich vielleicht zu unterstützen.

    Hier der komplette seiten script ( ist vollständig ). Die anderen drei "Include_Dateien" die hier aufgeführt sind haben nichts mit dem gästebuch zu tun.
    PHP-Code:
    <?php
    session_start
    ();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>G&auml;stebuch von Meik Schmidt</title>
    <style type="text/css">
    <!--
    #gaestebuch {background:#CCC;}
    -->
    </style>
    <?php include ("include/kopfzeile.inc.php"); ?>
    <?php 
    include ("include/navigation.inc.php");?>
     &raquo; 
    <a href="gaestebuch.php" title="G&auml;stebuch von Meik Schmidt">g&auml;stebuch</a></div>
    <div class="inhalt">
      <h1>G&auml;stebuch von Meik Schmidt</h1>
    <p>text von mir </p>
    <form name="gastbuch" method="post" id="formular" action="<?php echo $_SERVER['PHP_SELF']?>">
    <table width="520" border="0">
    <tr>
      <td width="110">Name:</td>
      <td width="400"><input name="name" type="text" maxlength="50"></td></tr>
    <tr>
      <td align="left" valign="top">Eintrag:</td>
      <td><textarea name="eintrag" cols="35" rows="10" maxlength="500"></textarea></td></tr>
    <tr>
      <td align="left" valign="top">Code:</td>
    <td>
    <div align="left">
    <?PHP
    $code 
    $_SESSION['new_code2'];
    echo 
    '<img src="include/code.php?'.$code.'" height="25" width="100" style="border:0; padding:0;">
    <INPUT TYPE="TEXT" NAME="new_code" SIZE="20" MAXLENGTH="6">'
    ;?>
    </div></td></tr>
    <tr>
      <td align="left" valign="top">Absenden:</td>
      <td><div align="left"><input name="absenden" type="submit" value="eintragen"></div></td>
    </tr>
    </table>
    </form>
    </div>
    <div class="inhalt">
    <?php
    # echo " ".$_SESSION['new_code2']." <br>";
    # echo " ".$_GET['new_code']." <br>";
    if($_POST['new_code'] != $_SESSION['new_code2']) { 
       die(
    "In moment funktioniert das mit dem code noch nicht - probiere es bitte ab dienstag noch einmal!");   
    }
    // Dateipfad in der die Einträge abgespeichert werden
    $datei "gaestebuch.txt";
    // sind der Name und Text eingetragen?
    if (isset($_POST['name']) && $_POST['text'] != "" && $_POST['new_code'] !="") {
      
    $name $_POST['name'];
      
    $text $_POST['text'];
      
    // Datei wird zum schreiben und lesen geöffnet
      
    $zeiger fopen($datei"r+");
      
    // alte Daten herauslesen und in $alt sichern
      
    $alt fread($zeigerfilesize($datei));
      
    // HTML-Zeichen maskieren, Slashes entfernen, Zeilenumbrüche erhalten
      
    $name htmlspecialchars($name);
      
    $name stripslashes(nl2br($name));
      
    $text htmlspecialchars($text);
      
    $text stripslashes(nl2br($text));
      
    $code htmlspecialchars($name);
      
    $code stripslashes(nl2br($name));
      
    // Eintrag "zusammensetzen"
      
    $eintrag="<h2>$name</h2>\n$text\n";
      
    // Cursor sringt zum Anfang
      
    rewind($zeiger);
      
    // neue Eintrag vor den alten Eintrag schreiben:
      
    fputs($zeiger"$eintrag \n $alt");
      
    // Datei wieder schließen
      
    fclose($zeiger);
    }
    // Anzeigen des Gaestebuch
    readfile($datei);
    ?>
    </div>
    <?php include ("include/fusszeile.inc.php"); ?>
    Hier die code datei
    PHP-Code:
    <?php
    session_start
    ();
    $chars "qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM1234567890";    
    $code "";
    for (
    $i=1$i<7$i++)
    {
      
    $code $code.$chars[mt_rand (0,strlen($chars)-1)];
    }
    $_SESSION['new_code2'] = $code;



    Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
    Header("Content-type: image/jpeg"); 
    $pic=ImageCreate(100,25); //(breite, höhe) 
    $col1=ImageColorAllocate($pic,255,255,255); 
    $col2=ImageColorAllocate($pic,138,138,138); 
    ImageFilledRectangle($pic0010025$col2); 
    ImageRectangle($pic119823$col1);
    for (
    $i 0$i 6$i++)
    {
        
    ImageString($picmt_rand(35), (14*$i+10), mt_rand(36), substr($code$i1), $col1); 
    }
    ImageJPEG($pic); 
    ImageDestroy($pic); 
    ?>
    Zuletzt geändert von meikschmidt; 11.12.2006, 18:16.
    An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

    Kommentar


    • #17
      error_reporting hochsetzen und du siehst den fehler selbst.

      Kommentar


      • #18
        wie geht das denn mir den error_reporting ???
        An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

        Kommentar


        • #19
          du erinnerst dich an das php manual, google oder sogar den regel-thread?

          Kommentar


          • #20
            also wäre das so richtig, das ich ganz an den anfang setzte !? aber ich sehe dann keine fehlermeldung

            PHP-Code:
            <?php
            session_start
            ();
            error_reporting(E_ALL);
            ?>
            An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

            Kommentar


            • #21
              dann zeig mal print_r() von $_POST nach dem absenden des formulars.

              Kommentar


              • #22
                hab ich getan. dann bekomme ich diese meldung. wenn ich den code richtig eingebe

                Array ( [name] => Vorname Nachname [eintrag] => Texteintrag für das Gästebuch [new_code] => PSmeV5 [absenden] => eintragen )
                An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

                Kommentar


                • #23
                  vergleiche mit
                  PHP-Code:
                  if (isset($_POST['name']) && $_POST['text'] != "" && $_POST['new_code'] !="") { 
                  und beschreibe, was dir an den einzelnen bedingungen auffällt.

                  Kommentar


                  • #24
                    keine ahnung. ich weiß nur das da miteinander was verglichen wird. trotzdem danke. ich nehm das gästebuch einfach wieder raus. das wird mir alles zu kompliziert zur zeit noch!
                    An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

                    Kommentar


                    • #25
                      beschreibe doch in eigenen worten, _was_ verglichen wird.

                      Kommentar


                      • #26
                        in diesem fall der "namenseintrag" mit dem "texteintrag" und dem "eingetippten" code.

                        also müsste es so richtig lauten !?

                        PHP-Code:
                        if (isset($_POST['new_code2'] && $_POST['new_code'] !=""
                        damit der generirte code mit dem eingetippten code verglichen wird?
                        An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

                        Kommentar


                        • #27
                          nein. noch mal, dort steht etwas in der form
                          Code:
                          if ( A && B && C )
                          . was bedeutet A, B und C im einzelnen?

                          Kommentar


                          • #28
                            mit $_POST['Variable'] frage ich genau die Variablen ab die über den Browser per POST abgesendet wurden
                            An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

                            Kommentar


                            • #29
                              ok. was bedeutet dabei 'Variable'?

                              Kommentar


                              • #30
                                also nach meiner erkenntniss ist eine "variable" eina art "platzhalter". z.b.

                                PHP-Code:
                                $_TEXT['Auto'] = 'Hier ist die Rubrik auto'
                                An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

                                Kommentar

                                Lädt...
                                X