alternative zur header location Funktion

Matze202

Erfahrenes Mitglied
Hiho @all,

ich suche gerade nach einer alternative zur header location Funktion oder einer Verbesserung dieser.

Momentan verwende ich diese ganz schlicht:
PHP:
header('Location: '.$main_url.'/');

Dies habe ich hinter Formulare-Auswertungen geschaltet, um es zu verhindern, dass User mit dem Browser zurück-Button, wieder zu dem gesendeten Formular zurück kommen, wodurch ein doppelter Post des Formulars entstehen könnte.

Hier im Forum habe ich nun festgestellt, dass es noch eleganter geht und man beim drücken des zurück-Buttons nicht mehr scheinbar die Formular-Seite lädt, sondern diese komplett überspringt und auf der Seite landet, welche man vor dem Formular besucht hatte.

Kann mir dazu bitte jemand einen Tip geben, wie man das umsetzen kann?

Gruß Matze202.
 
Vielleicht gibts ja was besseres, aber eine Möglichkeit:
Beim Submitbutton mit onclick und Ajax das Formular absenden
(aber das Ziel in HTML-Art drinlassen, als Fallback wenn kein JS an ist)
dann mit location.replace die Seite wechseln.

Aber
a) Geht nur, wenn JS an ist, sonst ist die Seite eben auch mit dem Zurückbutton erreichbar
b) Mich als User würde sowas sehr stören. Bzw. dank Noscript nicht, aber sonst...
c) Eine Kontrolle auf PHP-Seite, ob schon gesendete Daten wieder kommen, bleibt dir nicht erspart.
Es gibt genug Möglichkeiten, wie das trotzdem passieren kann.
Wenn so eine Kontrolle anhand der Daten nicht zuverlässig möglich ist wirds umständlich.
 
Danke @sheel

mmhhh, ohne JS, Ajax und Co wird das wohl nicht gehen, oder kannst du dir vorstellen, wenn man mehrere Seiten in der Session zwischen speichert, in denen keine Formulare drin sind und damit übers PHP wieder weiter leitet, nur leitet man diese dann ja wieder vorwärts weiter und somit kann man da mit der seitenreihenfolge durch einander kommen.

Also wird mir nix weiter übrig bleiben als das Ajax zu lernen.
 
Ist doch gar nicht so schwer, vor allem wenn jQuery schon in Verwendung ist :)
Ein einzelner größerer Funktionsaufruf, mehr ist dann nicht nötig.
 
Naja bis jetzt hab ich nur leider noch NULL Plan mit JS, Ajax, JQuery und Co, nur C# hatte ich mir mal zur gemüte gezogen, wegen eines App´s, aber ich belese mich die Tage mal. ;)
 
Zurück