Facetious: Textbox verliert nach history.back() ihren Inhalt

Liebe Leute!

Ich habe ein ziemlich großes Formular, in welches persönliche Daten eingetragen werden.

Wenn der Benutzer einen fehler eingibt (per php abgefragt) verlinke ich ihn per javascript: history.back(;) zurück zum forumlar

eigentliches problem:
im firefox behält er die werte schon in den textboxen, dropdownlisten und radio buttons
im ie löscht er alles komplett raus

ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan

vielleicht kennt von euch hier jem. das problem und hat es schon irgendwie gelöst!

danke im vorraus und mfg
Facetious

  1. Hi,

    ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan

    und bringt auch absolut nichts, wenn der Besucher Javascript deaktiviert hat oder über eine fremde Verlinkung auf diese Seite gekommen ist. Warum lädst Du die URL mit den Parametern nicht ganz normal?

    freundliche Grüße
    Ingo

    1. naja
      das mit js ist vorläufig egal

      du meinst ich soll die parameter über die uri übergeben?
      wenn ja, das is mir eigentlich zu umständlich

      mfg

      1. Ist nicht schwer mit den Sessions

        Mit session_start und session_register solltest du hinkommen.

        1. sessions sind nicht das problem,
          das problem liegt dabei, dass ich die daten die in der session sind, wieder in die textboxen bekomm, bzw die radio buttons wieder anpasse, bzw. die richtigen daten in der drop down box auswähle!

          das is das problem

          mfg

          1. Und wenn du statt history.back() einfach auf die vorhergehende php-Datei verweist? Dann werden die Session-Daten nochmals gelesen.

            1. Und wenn du statt history.back() einfach auf die vorhergehende php-Datei verweist? Dann werden die Session-Daten nochmals gelesen.

              hmm
              das klappt nicht .. er schreibt trotzdem nix rein!

  2. Ich denke du brauchst das hier:

    http://www.php-faq.de/q/q-stil-normalform.html

  3. Tag Facetious.

    Wenn der Benutzer einen fehler eingibt (per php abgefragt) verlinke ich ihn per javascript: history.back(;) zurück zum forumlar

    Unsinn, mit Verlaub. Entweder du prüfst komplett mit Javascript und setzt den Focus auf fehlerhafte Eingabefelder, oder du baust mit PHP ein Affenformular. Die Eingaben stehen doch im PHP-Script zur Verfügung, auch wenn sie fehlerhaft sind. Was also spricht dagegen, die getätigten Eingaben mittels echo in das Formular zu schreiben?

    ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan

    Sessions sind gut und schön, für dein Vorhaben m.E. jedoch reichlich überdosiert.

    [dsf 3.6]
    Siechfred

    --
    »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
    1. Wenn der Benutzer einen fehler eingibt (per php abgefragt) verlinke ich ihn per javascript: history.back(;) zurück zum forumlar

      Unsinn, mit Verlaub. Entweder du prüfst komplett mit Javascript und setzt den Focus auf fehlerhafte Eingabefelder, oder du baust mit PHP ein Affenformular. Die Eingaben stehen doch im PHP-Script zur Verfügung, auch wenn sie fehlerhaft sind. Was also spricht dagegen, die getätigten Eingaben mittels echo in das Formular zu schreiben?

      fehlerüberprüfung läuft auch per php .. nur die ausgabe an den benutzer dass so und so viele fehler aufgetreten sind, erfolgt per pop up mit js

      ich hab mir eine möglichkeit überlegt das zu umgehen, indem ich alle formulardaten in eine session variable speichere und sie nach history.back(); wieder hineinschreibe, das ist aber leichter gesagt als getan

      Sessions sind gut und schön, für dein Vorhaben m.E. jedoch reichlich überdosiert.

      naja .. wie soll es anders funktionieren wenn ie mir die werte rauslöscht, mozilla sie aber behält?

      1. Tag Facetious.

        fehlerüberprüfung läuft auch per php .. nur die ausgabe an den benutzer dass so und so viele fehler aufgetreten sind, erfolgt per pop up mit js

        Der erforderliche JS-Code wird doch sicher von deinem PHP-Script erzeugt.

        Sessions sind gut und schön, für dein Vorhaben m.E. jedoch reichlich überdosiert.
        naja .. wie soll es anders funktionieren wenn ie mir die werte rauslöscht, mozilla sie aber behält?

        Ganz einfach:
        1. Eingabe von Daten in ein vom PHP-Script erzeugtes HTML-Formular
        2. Daten aus dem Formular werden ungeprüft an das PHP-Script übergeben
        3. das Script prüft die Gültigkeit:
           a) die Eingaben sind gültig -> weiter bei 5
           b) eine Eingabe ist ungültig -> weiter bei 4
        4. erneute Ausgabe des Formulars, den value-Attributen der Formularfelder
           werden die dem Script bei Schritt 2 übergebenen Eingaben zugewiesen,
           gegebenenfalls wird der Benutzer durch ein Popup auf Fehler hingewiesen
           (optional). Der Benutzer korrigiert die fehlerhafte Eingabe
           -> weiter bei 2
        5. die Daten werden verarbeitet. Ende des Scripts.

        [dsf 3.6]
        Siechfred

        --
        »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
  4. Hallo, Facetious,

    eigentlich sollen Formulare ihre Werte behalten.

    Da dies aber nicht immer klappt, könntest Du die eingegebenen Werte auch in Cookies speichern und beim erneuten Aufrufen der Seite in die Felder schreiben ...

    Grüße,

    Sebastian