ich habe mal zur Demonstration zwei Beispielseiten hochgeladen:
Seite #1
Also ein ganz einfaches Formular.
In Firefox 2.0 bleibt hier der Text erhalten, wenn man ihn eingibt und aktualisiert. (zumindest bei mir)
Seite #2
Der einzige technische Unterschied ist der kurze PHP-Codeabschnitt am Anfang, wo die session_start() aufgerufen wird.
Bei Firefox 2.0 bleibt bei mir hier der Inputtext NICHT erhalten, wenn ich aktualisiere.
Nur damit ihr mir das ganze auch glaubt (ich hoffe jetz nur, dass das keine Browsereigenart ist)
Nun, du hast mir dennoch mit deinem Beitrag geholfen.
Denn jetzt weiß ich, wie ich auf die Verwendung von Sessions verzichten kann, um Benutzerdaten zu merken.
Ja, ich kam vorher nicht die Idee, Benutzer ID und Passworthash einfach mit Cookies abzuspeichern.
Im Prinzip kann ich das ganze jetzt so aufbauen, dass ich Sessions nichtmehr verwende. Dennoch wäre es ganz interessant zu wissen, ob es nicht auch mit Sessions funktioniert.
*sigh* just for you habe ich jetzt den Netzwerktraffic bei beiden Aufrufen und Reloads mitgeschnitten und mal analysiert. Hättest du dir mal die Header, die bei beiden Dateien mitgesendet werden, genauer angeguckt, wären dir sicherlich die folgenden aufgefallen, der nur bei formtest2.php gesendet wird:
All das sind mehr oder minder Hacks, die verhindern sollen, dass der Browser, der Proxy oder irgendeine andere Zwischenstelle die Seite zwischenspeichern. Um die Seite aber mit dem Inhalt des Feldes zu erhalten muss Firefox sie aber scheinbar cachen, und das wird mit den Headern verhindert.
Ich vermute einfach mal ganz stumpf, dass es sich hier nur um eine der verkorksten Sicherheitsmaßnahmen von PHP handelt, da eine Seite, die durch Übermittlung einer SID meistens nicht in andere Hände geraten soll. Wenn du die Header manuell mit header() überschreibst müsste es aber möglich sein, dieses Verhalten zu ändern. Falls nicht ist das wirklich ein Armutszeugnis für PHP und du solltest tatsächlich auf Cookies bzw. eine manuelle Implementierung von Sessions umsteigen.
Solltest du noch Interesse am Mitschnitt haben kann ich ihn dir natürlich auch gerne zukommen lassen, bin aber gerade zu faul den abzuspeichern und hochzuladen
PS: Mir braucht jetzt keiner Live Headers o.Ä. empfehlen, ich kenne diese Extensions und benutze sie auch. Aber ich wollte hier wirklich den Traffic selbst haben und nicht irgendwelche abgewandelten Formen davon
@Freierfall
Das wird wohl der Fall sein, weil Opera schlichtweg und einfach Formulardaten nicht abspeichert. Schonmal die Unterschiede beim Seiten-vor- und zurückblättern getestet?
@dead_orc
Okay, die Header-Analysieren hab ich weniger Erfahrung.
Hab im Moment nichtmal irgendein Programm, mit dem ich das machen könnte.
Also ja, header-Modfikation wäre wohl irgend eine möglichkeit, aber damit kenne ich mich nicht aus und was ich dazu schon gelesen habe, wegen manuellem POST-Daten anhängen hörte sich schon kompliziert genug an.
... Es sei denn PHP hat funktionen mit denen man diese Einstellungen rückgängig machen kann, nachdem man die session_start() funktion aufgerufen hat...
Ich habe das ganze jetzt also mit Cookies umgesetzt, klappt einwandfrei und die Formulardaten bleiben erhalten.
@Freierfall
Das wird wohl der Fall sein, weil Opera schlichtweg und einfach Formulardaten nicht abspeichert. Schonmal die Unterschiede beim Seiten-vor- und zurückblättern getestet?
...
Wenn ich hier im Forum was eingebe, zurückgehe, wieder vor, sind die Eingegebenen Formulardaten immer noch da.
Nach dem Aktualisieren nicht mehr
--
cats are not characteristically disposed toward voluntary aerobic exercise