Form-Submit -> Back -> alles weg
Anja
- html
0 vaudi0 EKKi0 Der Martin
Hi,
wovon hängt dieses Verhalten ab, was bei einigen Formularen im Internet und leider auch an meinem zu beobachten ist.
Man füllt ein Formular aus und sendet es mit dem submit.
Dann versucht man mit dem Browser eine Seite zurück, also wieder zum <form>ular zu kommen und dann sind alle Daten futsch. nichts mehr da :(
In anderen Fällen bleiben die Infos, v.a. in den Textfeldern erhalten, ... nicht aber bei meinem Formular :(
Wie bekomm ich das gebacken?
Dankeschön
Hallöchen,
Hi,
wovon hängt dieses Verhalten ab, was bei einigen Formularen im Internet und leider auch an meinem zu beobachten ist.
Man füllt ein Formular aus und sendet es mit dem submit.
Dann versucht man mit dem Browser eine Seite zurück, also wieder zum <form>ular zu kommen und dann sind alle Daten futsch. nichts mehr da :(
Das ist grundsätzlich aus Gründen der Datensicherheit ein positives Verhalten :)
In anderen Fällen bleiben die Infos, v.a. in den Textfeldern erhalten, ... nicht aber bei meinem Formular :(
Wie bekomm ich das gebacken?
Das ist davon abhängig, wie du deine Daten verarbeitest. Wenn du im Formular stehen hast
<input type="text" name="name" value="">
sind die Daten - wenn der erste Versuch abzusenden erfolgreich war - weg.
Hast du aber z.B. stehen
<input type="text" name="name" value="<?php echo $_POST['name']; ?>">
um bei der Überprüfung, wenn was faul ist, die eingegebenen Daten beim Wiederanzeigen des Formulars vorzubelegen, dann sind die Daten u.U. auch dann noch da, wenn das erste Senden erfolgreich war.
Mit Sicherheit sind sie dann da, wenn das Formular vor dem Senden ein zweites Mal (mit Vorbelegung) angezeigt wurde, oder wenn die Daten wegen der Verarbeitung gespeichert wurden (z.B. in einer Session).
Grundsätzlich würde ich mir überlegen, ob es sinnvoll ist, dass beim Nutzen der "Zurück"-Funktion des Browsers eingegebene Daten wieder angezeigt werden. Das zu unterbinden ist nämlich eine besch...eidene Aufgabe
MfG
vaudi
hi,
<input type="text" name="name" value="<?php echo $_POST['name']; ?>">
Das kann man so aber nicht stehen lassen, insbesondere dann nicht, wenn OP allen Anschein nach noch Anfänger ist.
<input type="text" name="name" value="<?php echo [link:http://www.php.net/htmlspecialchars@title=htmlspecialchars]($_POST['name']); ?>">
mfg
Mahlzeit Anja,
Man füllt ein Formular aus und sendet es mit dem submit.
Dann versucht man mit dem Browser eine Seite zurück, also wieder zum <form>ular zu kommen und dann sind alle Daten futsch. nichts mehr da :(
Das kann - wie bereits angedeutet - mehrere Ursachen haben. U.a. spielen auch eine eventuelle Verschlüsselung (https) sowie Angaben zur Autovervollständigung ("autocomplete"-Attribut) eine Rolle. Darüber hinaus kann es sein, dass sich die unterschiedlichen Browser auch unterschiedlich verhalten.
MfG,
EKKi
Hallo,
Man füllt ein Formular aus und sendet es mit dem submit.
Dann versucht man mit dem Browser eine Seite zurück, also wieder zum <form>ular zu kommen und dann sind alle Daten futsch. nichts mehr da :(
so würde ich das auch erwarten und mir wünschen: Beim "Zurück" soll mein Browser die letzte vorherige Seite neu laden. Frisch und unverändert, so wie sie vom Server kam.
In anderen Fällen bleiben die Infos, v.a. in den Textfeldern erhalten, ... nicht aber bei meinem Formular :(
Wie bekomm ich das gebacken?
Im Wesentlichen kommt es drauf an, ob der Browser das Dokument aus seinem Cache holt oder wirklich frisch vom Server anfordert. Das ist zwar eine Browsereinstellung (ebenso wie das von EKKi erwähnte autocomplete, das einige User komplett abschalten), man kann das aber durch die Serverkonfiguration etwas beeinflussen, indem man entsprechende Header sendet, die Caching empfehlen. Trotzdem wird das nicht immer zuverlässig funktionieren.
Und selbst wenn ein Browser die Seite aus seinem Cache holt, kann es immer noch sein, dass er die Formularelemente wieder auf ihre Anfangswerte setzt.
So long,
Martin