zurück im Browser + html/php
bjacke
- php
2 Dennis0 Knusperklumpen0 Basti1
-1 schwarzfahrer0 Dennis
Hi @all,
ich möchte irgendwie realisieren, dass falls ein Fehler beim Eintragen in ein Formular auftritt, dass der user zurückblättern kann und die Informationen erhalten bleiben. So, wie wenn ich in meinem Browser auf zurück klicke. Gibt es jetzt die Möglichkeit das in html oder php zu verpacken?
Basti
Hi bjacke,
ich möchte irgendwie realisieren, dass falls ein Fehler beim Eintragen in ein Formular auftritt, dass der user zurückblättern kann und die Informationen erhalten bleiben. So, wie wenn ich in meinem Browser auf zurück klicke. Gibt es jetzt die Möglichkeit das in html oder php zu verpacken?
Für so etwas verwendet man normalerweise ein sogenanntens Affenformular, welches die Daten immer wieder an sich selbst schickt, auswertet und erst wenn alle Werte gültig sind, diese weiter verarbeitet.
Oder was willst du jetzt genau machen? Ansonsten kannst du die Werte natürlich auch in einer Session speichern...
MfG, Dennis.
Hi,
mit Javascript kannst du sowas machen.
<a href="javascript:history.back()">zurück</a>
Ich habe allerdings schon die Feststellung gemacht, dass Browser es unterschiedlich handhaben was die Daten im Formular angeht. Manchmal bleiber sie erhalten, manchmal sind sie weg.
Daher ist es besser alle Daten, die der Kunde schon eingegeben hat in hidden-Felder zu schreiben und dann beim zurück ein Formular abzuschicken, was die Daten zurückgibt. Oder du speicherst die Daten in einer Session.
mfg
Knusperklumpen
<a href="javascript:history.back()">zurück</a>
Danke, dass meinte ich.
Auch danke für die anderen Ideen!
Hey,
ja die gibt es, eine wäre z.B.:
Das Formular ist eine PHP Datei, nur dann geht die Lösung.
Ich gehe davon aus das dein Formularfeld so aussieht <input type="text" name="feld1" value="xyz"> - mach daraus ein <input type="text" name="feld1" value="<? echo $feld1;?>">
Beim Absenden werden nun die Variablen übergeben und wenn du auf die Fomularseite zurückkommt, sind die Daten gecached und werden ausgegeben.
Die Back-Funktion machst du entweder per Javascript (history.back(-1) oder mit dem PHP Header Befehler header("location:seite.php");
Grüße. Sf.
Hi @all,
ich möchte irgendwie realisieren, dass falls ein Fehler beim Eintragen in ein Formular auftritt, dass der user zurückblättern kann und die Informationen erhalten bleiben. So, wie wenn ich in meinem Browser auf zurück klicke. Gibt es jetzt die Möglichkeit das in html oder php zu verpacken?
Basti
Hi schwarzfahrer,
Ich gehe davon aus das dein Formularfeld so aussieht <input type="text" name="feld1" value="xyz"> - mach daraus ein <input type="text" name="feld1" value="<? echo $feld1;?>">
Nein! Genau so geht es eben nicht, wenn register_globals auf off ist (was es aus den bekannten Sicherheitsgründen ja sein sollte). Du hast $_GET['feld1'] bzw. $_POST['feld1'] zu verwenden statt einfach nur $feld1. Ebenfalls noch sinnvoll wäre ein htmlentities($_POST['feld1']), da es sonst zu Problemen kommt, wenn ein Besucher " in das Textfeld geschrieben hat.
MfG, Dennis.
Hi schwarzfahrer,
Ich gehe davon aus das dein Formularfeld so aussieht <input type="text" name="feld1" value="xyz"> - mach daraus ein <input type="text" name="feld1" value="<? echo $feld1;?>">
Nein! Genau so geht es eben nicht, wenn register_globals auf off ist (was es aus den bekannten Sicherheitsgründen ja sein sollte). Du hast $_GET['feld1'] bzw. $_POST['feld1'] zu verwenden statt einfach nur $feld1. Ebenfalls noch sinnvoll wäre ein htmlentities($_POST['feld1']), da es sonst zu Problemen kommt, wenn ein Besucher " in das Textfeld geschrieben hat.
MfG, Dennis.
Hoi hoi :)
Ne ne immer langsam... eben du hast $_POST['feld1'], nun legst du die Variable fest, meinetwegen auch mit der isset Abfrage... aber $_POST['feld1'] = $feld1; passt schon. Wenn ich nun über den Browser zurückgehe oder per JS oder per Header, die Variable bleibt gesetzt. Das hat nicht viel bis garnichts mit den Globals zu tun. Probiers doch einfach mal aus wenn dus nicht glaubst.
Grüße. Sf.