inspiron: nicht alle Formularfelder nach absenden leeren!

Hallo,
ich habe ein Formular welches als Tagesfehlerbericht von verschiedenen Mitabeitern genutzt wird.
Dort stehen unter anderem folgende Eingabefelder zur Verfügung:
Name, Datum ....Zeit, Dauer, Beschreibung, gemeldet, Maßnahmen.
Nach dem absenden werden nun alle Felder gelöscht.
Gibt es eine Möglichkeit, den Inhalt der Felder "Datum" & "Name" nach dem Absenden nicht zu löschen, damit das nicht immer wieder neu eingegeben werden muß?

Dank

  1. Gibt es eine Möglichkeit, den Inhalt der Felder "Datum" & "Name" nach dem Absenden nicht zu löschen, damit das nicht immer wieder neu eingegeben werden muß?

    Sei dir im Klaren, dass niemals durch das Absenden eines Formulars Feldinhalte gelöscht werden.

    Du schickst lediglich einen HTTP-POST (oder GET) an den Server, der schickt dir Aufgrund der ihm übermitten Daten eine Antwort - in deinem Fall ein Formular mit leeren Feldern.

  2. hi,

    Gibt es eine Möglichkeit, den Inhalt der Felder "Datum" & "Name" nach dem Absenden nicht zu löschen, damit das nicht immer wieder neu eingegeben werden muß?

    Gelöscht wird eigentlich nichts, siehe Suits Antwort. Aber Du kannst ja einen Cookie dazu verwenden, einen Teil der Formular(Benutzer)eingaben zu speichern, so dass nach POST und redirect wieder auf das Formular, ein Teil der Felder ausgefüllt sind.

    Hotti

    1. Gelöscht wird eigentlich nichts, siehe Suits Antwort. Aber Du kannst ja einen Cookie dazu verwenden, einen Teil der Formular(Benutzer)eingaben zu speichern, so dass nach POST und redirect wieder auf das Formular, ein Teil der Felder ausgefüllt sind.

      Hotti

      Danke!
      Na das ist ja mal ne schöne Idee! Nur wie kann ich das am besten umsetzen?

      Gruß

  3. Hello,

    ich habe ein Formular welches als Tagesfehlerbericht von verschiedenen Mitabeitern genutzt wird.
    Dort stehen unter anderem folgende Eingabefelder zur Verfügung:
    Name, Datum ....Zeit, Dauer, Beschreibung, gemeldet, Maßnahmen.
    Nach dem absenden werden nun alle Felder gelöscht.
    Gibt es eine Möglichkeit, den Inhalt der Felder "Datum" & "Name" nach dem Absenden nicht zu löschen, damit das nicht immer wieder neu eingegeben werden muß?

    Wie wird denn der Request vom Server verarbeitet?
    Wird dafür eine Scriptsprache eingesetzt? - Welche?

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Wie wird denn der Request vom Server verarbeitet?
      Wird dafür eine Scriptsprache eingesetzt? - Welche?

      ...also, die eigentliche Seite ist ein php Formular, aus diesem werden die Daten in eine MySql Datenbank gespeichert.
      Gibt es außer "Cookies" noch eine andere Möglichkeit? Was ist wenn Cookies deaktiviert sind?

      Gruß

      1. Hello,

        Wie wird denn der Request vom Server verarbeitet?
        Wird dafür eine Scriptsprache eingesetzt? - Welche?

        ...also, die eigentliche Seite ist ein php Formular, aus diesem werden die Daten in eine MySql Datenbank gespeichert.
        Gibt es außer "Cookies" noch eine andere Möglichkeit? Was ist wenn Cookies deaktiviert sind?

        Vermutlich benötigst Du sie nicht, wenn es sich immer nur um _einen_ Roundtrip handelt, die Werte also immer direkt von Request zum Response weitergegeben werden müssen.

        Dann reicht ein "Affenformular".

        Erst, wenn es sich um komplexere Vorgänge über mehrere Requests hinweg handelt, Du z.B. in den Abarbeitungsschreitten hin und her blätten können willst, dann wäre eine Session sinnvoll. Dafür sind Cookies dann aber ebenfalls sinnvoll. Ohne geht es dann nur sehr aufwändig.

        Dass Cookies deaktiviert sind, ist heutzutage aber relativ unwahrscheinlich

        Wie kommen die Daten im Script an?
        Vermutlich fragst Du doch das Array $_POST ab, oder?

        Dann kannst Du auch bestimmte Input-Elemente über ihre Value-Attribute vorbelegen, wenn ein $_POST-Element (ausgefüllt) gesendet wurde.

        ## Randbedingungen: magic_quotes_gpc ist ausgeschaltet, sonst ist eine Vorbehandlung notwendig

        $_out['name'] = DEFAULT_NAME;

        if (isset($_POST['name']) and is_string($_POST['name']))
           {
              $_out['name'] = htmlspecialchars($_POST['name'], ENT_QUOTES);
           }

        echo '<p><input type="text" size="40" name="name" value="' . $_out['name'] ." ></p>';

        Zur Überprüfung der Werte kannst Du außerdem die Filter-Funktionen benutzten:
        http://de3.php.net/manual/en/book.filter.php

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Erst, wenn es sich um komplexere Vorgänge über mehrere Requests hinweg handelt, Du z.B. in den Abarbeitungsschreitten hin und her blätten können willst, dann wäre eine Session sinnvoll. Dafür sind Cookies dann aber ebenfalls sinnvoll. Ohne geht es dann nur sehr aufwändig.

          »»

          nö!

          Wie kommen die Daten im Script an?
          Vermutlich fragst Du doch das Array $_POST ab, oder?

          ja!

          Dann kannst Du auch bestimmte Input-Elemente über ihre Value-Attribute vorbelegen, wenn ein $_POST-Element (ausgefüllt) gesendet wurde.

          ## Randbedingungen: magic_quotes_gpc ist ausgeschaltet, sonst ist eine Vorbehandlung notwendig

          $_out['name'] = DEFAULT_NAME;

          if (isset($_POST['name']) and is_string($_POST['name']))
             {
                $_out['name'] = htmlspecialchars($_POST['name'], ENT_QUOTES);
             }

          echo '<p><input type="text" size="40" name="name" value="' . $_out['name'] ." ></p>';

          Danke,
          mal schauen wie ich das umsetzen kann.

          Gruß