Hallo,
Ich arbeite an einer Webapplikation, welche Formulare besitzt. Wenn man in diese Formulare einen Text eingibt und dann die Seite aktualisiert (F5, oder indem man in der Browser-Historie zurück und wieder vorgeht), werden die Formularfelder gelöscht.
genau dieses Verhalten würde ich erwarten. "Aktualisieren" heißt für mich, die Seite neu laden. Wozu würde ich sonst die Reload-Funktion brauchen?
Dieses Phänomen möchte ich verhindern, weiß aber nicht, woran es liegt (in diesem Forum z.B. ist das ja nicht der Fall).
Doch, es liegt auch an deinen Browsereinstellungen. Meine Browser laden grundsätzlich neu. ;-)
Im Response-Header wird sogar explizit folgende Angabe mitgesandt (allerdings nicht von mir; das muss irgendwo in den Apache- oder PHP-Einstellungen schlummern):
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Das dürfte den Kern des Problems schon treffen. Damit weist du doch den Client an, die Seite (und damit automatisch auch Eingaben auf der Seite) nicht zu speichern. Wenn der Browser diese Vorgaben berücksichtigt (was er nicht unbedingt muss, es sind nur Empfehlungen), bleibt ihm nichts anderes übrig als die Seite jedesmal komplett neu zu laden.
Umgekehrt kann ich meinen Browser auch selbst anweisen, Caching-Header zu ignorieren, die das Cachen erlauben oder gar nahelegen.
Könnte das damit zu tun haben? Ich muss zugeben, dass ich mich absolut nicht mit Cache-Kontrolle auskenne. Wenn das etwas mit dem Problem zu tun hat, muss ich mich natürlich in diese Richtung informieren.
Ich kenne mich mit dem Thema auch nicht in allen Einzelheiten aus, bin aber ziemlich überzeugt, dass genau da der Knackpunkt liegt.
So long,
Martin
F: Was sagt die kleine Kerze zur großen Kerze?
A: Ich gehe heute nacht aus!