Moin!
Ich habe leider im Netz keine Antworten darauf gefunden, weiß vielleicht jemand von euch wie ich das machen könnte, dass beim zurück gehen einfach automatisch die Daten nicht nochmal gesendet werden?
Verwende z.B. HTTPS - Daten, wie von einem Formular über eine verschlüsselte Verbindung gesendet wurden, speichern handelsübliche Browser im Normalfall nicht. Vielleicht funktioniert das, müsstest Du mal ausprobieren.
Ansonsten bleiben Dir AFAIK wenig andere Möglichkeiten - es ist das normale Verhalten eines Browsers, das Du als Seitenautor nicht beeinflussen kannst und darfst.
Ich habe meine Zweifel, ob HTTPS an diesem Vorgang etwas ändern würde. Die Frage, ob die gesendeten Daten nochmal gesendet werden sollen, tritt ausschließlich bei POST-Formularen an, und zwar exakt dann, wenn der Browser die durch den früher stattgefundenen POST-Request geladene Seite erneut laden soll. Bei GET-Formularen hingegen lädt der Browser einfach die abgefragte URL (in der sich als Parameter ja alle Formulardaten befinden) ohne Nachfrage neu.
Die Abfrage beim POST-Request erscheint mutmaßlich deshalb, weil POST üblicherweise bei datenverändernden Aktionen eingesetzt wird, und der Benutzer eine Einflußmöglichkeit erhalten soll, diese erneute Aktion zu verhindern.
Wirklich vernünftige Browser hingegen implementieren die History-Funktionalität "vernünftig" und senden beim Zurück- und Vor-Gehen keinerlei neue Requests ab, sondern zeigen die jeweilige Seite (und insbesondere eventuell ausgefüllte Formulare) exakt so an, wie die Seite war, als sie (wodurch auch immer) verlassen wurde.
Da es sich hier also um einen Konflikt bzw. eine Divergenz der Browserimplementierung hinsichtlich der History-Funktion handelt, gibt es keinen allgemeinen Lösungsansatz - außer natürlich, POST-Formulare unbedingt zu vermeiden, außer man will datenverändernde Requests an den Server schicken.
Als Paradebeispiel für eine gute History-Implementierung ist übrigens Opera erwähnt. Der leistet all das, was ich oben erwähnte.
- Sven Rautenberg
"Love your nation - respect the others."