[PHP5] Zufallscode wird immer falsch gewertet

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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); 
    ?>
    Last edited by meikschmidt; 11-12-2006, 18:16.
    An den unerwarteten Momenten erwartet einen das unerwartete unerwartet

    Comment


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

      Comment


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

        Comment


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

          Comment


          • #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

            Comment


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

              Comment


              • #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

                Comment


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

                  Comment


                  • #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

                    Comment


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

                      Comment


                      • #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

                        Comment


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

                          Comment


                          • #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

                            Comment


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

                              Comment


                              • #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

                                Comment

                                Working...
                                X