Mr.Schmidtdtdt: Letzte Formularauswahl speichern?

Hallo,

ich habe ein HTML Formular mit relativ vielen "select" und "radio" Elementen.
Dieses Formular wird vom Betreuer einer Infotheke gute 30 mal pro Stunde abgeschickt.
Nun unterscheidet sich die Eingabe in aufeinanderfolgenden Fällen manchmal lediglich um 1-2 Elemente, sodass es durchaus Sinn machen würde die zuletzt gewählte Eingabe nach dem "submit" vorzudefinieren.

Was wäre hierfür eine saubere Lösung wenn man davon absieht, die form action in einem extra Fenster/Popup zu behandeln?

Mit freundlichen Grüße,
Mr. Schmidt

  1. Hi!

    Indem du Affenformularmässig die eingetragenen Werte speichserst und bei der erneuten Ausgabe vorgibst. Kann z.b. über eine Session (Cookie) passieren.

    --
    Signaturen sind blöd!
  2. Im Idealfall sind Layout (hier HTML Struktur) und Daten von einander getrennt. So dass es eventuell eine Funktion gibt wie diese hier:

    function builtHTML($arPost)
    {
       $strHTML = "<form><input type='text' name='feld1' value='".$_POST['feld1']."' /></form>";
       return $strHTML;
    }

    Diese Funktion wird dann normaler weise wie folgt aufgerufen:
    echo builtHTML($_POST);

    Jetzt kann man das ganze mit einem Cache erweitern:
    if($_POST)
    {
       echo builtHTML($_POST);
    } else {
       echo builtHTML( getDatenVonDatenbank() );
    }

    Wobei getDatenVonDatenbank() die Daten aus der Datenbank läd und Sie in so umwandelt als wären die Daten vom $_POST gekommen.

    In der Datenbank selber könnte man jetzt falls es nicht viele Felder sind für jedes Feld eine eigene Spalte definieren. Oder aber man serialisiert das $_POST Array und speichert es als laaaangen String in ein Feld. Das würde ungefähr so aussehen:
    feld1=inhalt1;feld2=inhalt2,feld3[]=inhalt3;feld3[]=inhalt4
    Problem hierbei ist die Fehlende Suchmöglichkeit. Es ist sehr Performance fressend wenn du jetzt feld2=inhalt2 suchen möchtest.

    Hoffe ich konnte helfen!

    Gruß
    912
    T-Rex

    1. @@T-Rex:

      nuqneH

      $strHTML = "<form><input type='text' name='feld1' value='".$_POST['feld1']."' /></form>";

      NEIN! NIEMALS!

      Dass Nutzereingaben niemals unbearbeitet als HTML-Code ausgegeben werden dürfen, sollte sich eigentlich herumgesprochen haben.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Dass Nutzereingaben niemals unbearbeitet als HTML-Code ausgegeben werden dürfen, sollte sich eigentlich herumgesprochen haben.

        Dass ich in einem Forum keine komplett Lösung für ein komplexes Thema erstellen werde auch...

        Gruß
        unbearbeiteter
        T-Rex

        1. @@T-Rex:

          nuqneH

          Dass Nutzereingaben niemals unbearbeitet als HTML-Code ausgegeben werden dürfen, sollte sich eigentlich herumgesprochen haben.

          Dass ich in einem Forum keine komplett Lösung für ein komplexes Thema erstellen werde auch...

          Die Ausrede taugt nicht. Man darf keinen Beispielcode zeigen, den der Fragesteller nicht verwenden kann. Besonders dann nicht, wenn sie der Fragesteller der Problematik nicht bewusst ist.

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
  3. Einstellungen, die anonyme Nutzer beim nächsten Aufruf einer Seite vorfinden sollen, speichere ich per Cookie.

    Bei registrierten Benutzern kann man die letzten Einstellungen natürlich auch in der Datenbank hinterlegen.

    Wenn Werte vorbelegt sind, weise ich deutlich darauf hin.

    MfG Gast

  4. Hallo,

    danke für die vielen Antworten.
    Allerdings habe ich mich evtl nicht ganz eindeutig ausgedrückt:

    Es geht mir nicht um die Methode die Eingabedaten nach dem submit wiederzubekommen, sondern um das tatsächliche Vordefinieren eines "radio" oder "select" Elements.

    Das ich den Inhalt eines Textfeldes über eine Variable einlesen kann ist mir klar. Aber ein radio Element beispielsweise verfügt in HTML nicht einmal über das Attribut "selected".

    Was ich möchte ist ein JavaScript um diese Elemente (radio & select) onload als markiert oder eben Ausgewählt anzuzeigen.

    1. Hallo,

      Das ich den Inhalt eines Textfeldes über eine Variable einlesen kann ist mir klar. Aber ein radio Element beispielsweise verfügt in HTML nicht einmal über das Attribut "selected".

      Aber über ein Attribut "checked" ...

      Was ich möchte ist ein JavaScript um diese Elemente (radio & select) onload als markiert oder eben Ausgewählt anzuzeigen.

      Hast du schon irgendwie vorliegen welche Elemente markiert/ausgewählt werden sollen?

      Gruß,
      Tobias