Nach Formularfehler wieder mit Daten zurück

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

  • Nach Formularfehler wieder mit Daten zurück

    Hai,
    ich habe folgendes Problem: Ich baue gerade ein System, dass vom User Daten in einem Formular abfragen soll. Hierin sind ca. 20 Felder auszufüllen. Wenn nun jedoch doch mal eines leer gelassen wird, was dann bei der Überprüfung zu einem Fehler wird, möchte ich den user ungern wieder ins leere Formular schicken.
    Nun dachte ich mir, bei der Überprüfung die Felderinhalte in Sessions zu hauen und ihn wieder ins Formular zu schicken und siehe da die Inhalte wären bereits wieder drin.
    Nun meine Frage: Bereits bei einem vorangegangenem Login sind die Logindaten in Sessions gespeichert um ein Timeout mgl. zu machen. Wenn ich nun nach erfolgreicher Formularauffüllung die Sessions leere, dann leere ich doch alle oder? Dann wären doch theoretisch auch die Logindaten weg und beim Abschicken würde er ein Timeout reinhauen?! Lieg ich richtig oder gibt es auch eine Möglichkeit nur die Formularsessioninhalte zu löschen?

    LG,
    KillUrMind

  • #2
    ??? Warum nicht selektiv die einzelnen Session-Variablen des Formulars leeren?

    Kommentar


    • #3
      Ich raff nicht, wieso so viele Leute einfache Formulare mit Sessions behandeln wollen.

      Beispiel:
      Code:
      <input type="text" name"bla" id="bla" value="<?php echo $_POST['bla']; ?>" />
      Das sollte Dir nach dem Absenden des Formulares die ursprüngliche Eingabe zurückgeben.
      MM Newmedia | MeinBlog

      Kommentar


      • #4
        Jo danke, das selektive ist richtig, wusste ich noch nicht, dass das geht. Aber die Idee mit dem POST gefällt mir irgendwie ganz gut....werd ich mir mal anschauen.

        Kommentar


        • #5
          Stichwort: Affenformular.
          ICH BIN ICH!!!

          Kommentar


          • #6
            Soooo, das verstehe ich nun gar nicht. Habe hier mal mein Script etwas verkürzt um den Fehler zu finden:
            PHP-Code:
            <?php
            session
            .start();
            require(
            "connect.inc.php");
            $sql "SELECT * FROM blas";
            $result mysql_query($sql);
            $count mysql_num_rows($result);
            $day date('d');
            $month date('m');
            $scount str_pad $count3'0'STR_PAD_LEFT );
            print 
            "S".$month.$day.$scount;

            if (!
            $_POST['p_city'] or $_POST['p_city'] == ""){
            print 
            "<form action=\"<?php echo $_SERVER['PHP_SELF'];?>\" method=\"post\"><table align=\"center\" width=\"500\" border=\"0\"><tr><td>city:</td><td><input type=\"text\" name=\"p_city\" size=\"20\" class=\"Stil5\" /></td></tr><tr><td><input type=\"submit\" name=\"submit\" value=\"Insert\" class=\"button\" />&nbsp;<input type=\"reset\" name=\"reset\" value=\"Reset\" class=\"button\" /></td></tr></table></form>";
            } else {
            print 
            "bla";
            }
            ?>
            Irgendwie bekomme ich nur eine weiße Seite. Mir scheint es liegt am "<?php echo $_SERVER['PHP_SELF'];?>", denn wenn ich es gegen z.B. "bla.php" tausche, klappt das Formular.
            Wo ist der Fehler? Versteh das nicht.

            Kommentar


            • #7
              1. AUA MEINE AUGEN - Code umbrechen, bitte.

              2. Du hast das PHP-Tag bereits offen, brauchst es also nicht nocheinmal öffnen

              3. So:

              PHP-Code:
              print "<form action=\"" $_SERVER['PHP_SELF'] . "\" method=\"post\">"#bla bla yada yada und so .. 
              mfg nOe
              "I am what I am and I do what I can..."
              Meine HP -- Mein GPG-Key
              Meine Projekte: WebStorage 2.0 -- easyAJAX-Chat 2.2.0 (beta)

              Kommentar


              • #8
                Funzt danke!!!

                Kommentar


                • #9
                  Original geschrieben von KillUrMind
                  Funzt danke!!!
                  Ist aber keine Entschuldigung für das Nichtumbrechen des Codes!
                  Gruss
                  H2O

                  Kommentar

                  Lädt...
                  X