Ersatz für history.back
Walter Neumann
- php
0 Der Dicki0 Tom0 Walter Neumann
Hallo Alle,
Hab eine Fehlerbehandlungsroutine für ein umfangreiches Programm in PHP. Die gibt eine Fehlermeldung aus und mit history.back konnte man zur ursprünglichen Seite zurückkehren. Jetzt hab ich in den textarea-Feldern einen HTML-Editor eingebaut, und als Folge funktioniert history.back nicht mehr. Wie kann ich von PHP aus zur ursprünglichen Seite zurückkehren und gleichzeitig die Formularfelder wiederherstellen. Den Seitenaufruf kann ich eventuell in einem verborgenen Feld abspeichern und mit $_REQUEST mir holen. Aber ich hab keine Ahnung an dieser Stelle, welche und wieviele Felder in dem Formular (oder auch in mehreren Formularen) existieren. Kann man von PHP aus einen javascript-Befehl ausführen (nicht mit echo, denn das löscht ja die jeweilige Seite)?
Danke für Ideen.
Walter.
Hallihallo!
Wie wäre es, wenn Du in Deinen Formularen ein zusätzliches hidden-Feld mit der URI der aktuellen Seite einbaust?
Anschliessend gibt die Fehlerseite das gesamte Formular, beispielsweise hidden, wieder aus, mit der übermittelten URI als action- attribut im <form>- Tag.
Der Submit- Button ist dann der "Zurück- Link".
Dann müsstest Du nur noch eine Funktion basteln, die das ursprüngliche Formular wieder herstellt, falls POST- Daten vorhanden sind.
Ich hoffe, ich habe Dein Problem richtig verstanden...
Viele liebe Grüße,
Der Dicki
Hello,
mehrseitige Formulare sind ganz gut ein einer Session aufgehoben.
Allerdings sollte dann auch die Navigation ausschließlich über das Formular stattfinden
Client Seite aufrufen
Serverr Seite laden, Formulare mit defaults oder letzten Werten füttern
Client Seite mit Forular anzeigen, nächste Seite anfordern (POST)
Server Werte der verlassenen Seite aus dem Post in der Session sichern
neue Seite laden und Formulare bestücken
usw.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Danke für eure guten Antworten. So kann ich es mir vorstellen. Was mir aber noch unklar ist: Wie kriege ich die Formulardaten wieder hinein. Gibt es da eine Möglichkeit in PHP oder muss das eine function in javascript sein? Wenn javascript, kann javascript auch auf die session zugreifen? Oder kann man auch das $_POST array in ein verborgenes Feld übergeben?
Nochmals danke für eure Hilfe. Walter.
Hallihallo!
Das kannst Du mit PHP erledigen. Dein Skript, welches für das "normale" Formular zuständig ist, prüft einfach, ob POST- Daten vorhanden sind. Sind sie es, wird das Formular mit vorgegebenen Inhalten dargestellt.
Sind keine POST- Daten vorhanden, wird das Formular einfach im "Rohzustand" dargestellt.
Javascript ist dafür nicht nötig.
Ich hoffe, das hilft Dir weiter…
Viele liebe Grüße,
Der Dicki
Moin!
Was mir aber noch unklar ist: Wie kriege ich die Formulardaten wieder hinein.
Google mal nach "Affenformular", dann siehst du, wie man sowas normalerweise angeht.
- Sven Rautenberg