Hi,
folgender Normaler Ablauf:
Kunde bestellt irgendwas im Shop und muß zum Schluß den Bestellbutton klicken.
Das abgeschickte form leitet den Besucher im Hintergrund erstmal auf die save.php, die die Bestellung speichert.
Diese Datei includiert die mail.php, die die Bestellemail versendet.
Ist das ende von der Datei save.php erreicht, wird mittels header_loc. auf die pay.php weitergeleitet, wo der Besucher ein erfolgreichen Bestelltext sieht. Das hat schon mal den Vorteil, das die save.php beim "browser zurück klicken" nicht auffrufbar ist. (und die Bestellung somit ein 2tes mal gespeichert wird). Das passt also schon mal.
Falls der Besucher nun zurückklickt (also in der History einen Schritt zurück), sagt FF, das die Seite abgelaufen sei. (schon mal ganz gut.) Leider befindet sich da auch der Button "Erneut senden".
Klicke ich dort drauf, wird die letzte Seite nochmal gesendet und ich befinde mich dann wieder auf der Abschlußseite vom Warenkorb, wo der Besucher den Bestellbutton erneut klicken kann.
Dies würde ich gern verhindern.
Erst dachte ich mir, das ich alle Register ziehe und Session und den Cookie neu setze. Zumindest habe ich das als rundumschlag Variante im Web gefunden.
Klappen tut das auch ganz gut. Beim normalen weiternavigieren ist nix mehr da. Allerdings greift das nicht bei der history(-1) navigation.
So ganz kann ich mir das noch nicht erklären, wie das funktioniert.
Der Client sendet die von mir (auf den Server) gelöschte Session/Cookie erneut und der Server übernimmt die (?)
Hoffe, das einer einen guten Vorschlag hat, wie ich das Zuürcknavigieren entweder verhindern kann (laut web = garnicht) oder eine alternativen Lösungsvorschlag, auf den ich jetzt noch nicht gekommen bin.
Danke...
Nachtrag: schemata
folgender Normaler Ablauf:
Kunde bestellt irgendwas im Shop und muß zum Schluß den Bestellbutton klicken.
Das abgeschickte form leitet den Besucher im Hintergrund erstmal auf die save.php, die die Bestellung speichert.
Diese Datei includiert die mail.php, die die Bestellemail versendet.
Ist das ende von der Datei save.php erreicht, wird mittels header_loc. auf die pay.php weitergeleitet, wo der Besucher ein erfolgreichen Bestelltext sieht. Das hat schon mal den Vorteil, das die save.php beim "browser zurück klicken" nicht auffrufbar ist. (und die Bestellung somit ein 2tes mal gespeichert wird). Das passt also schon mal.
Falls der Besucher nun zurückklickt (also in der History einen Schritt zurück), sagt FF, das die Seite abgelaufen sei. (schon mal ganz gut.) Leider befindet sich da auch der Button "Erneut senden".
Klicke ich dort drauf, wird die letzte Seite nochmal gesendet und ich befinde mich dann wieder auf der Abschlußseite vom Warenkorb, wo der Besucher den Bestellbutton erneut klicken kann.
Dies würde ich gern verhindern.
Erst dachte ich mir, das ich alle Register ziehe und Session und den Cookie neu setze. Zumindest habe ich das als rundumschlag Variante im Web gefunden.
PHP-Code:
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true); //Ersetzt die aktuelle Session-ID durch eine neu erzeugte
So ganz kann ich mir das noch nicht erklären, wie das funktioniert.
Der Client sendet die von mir (auf den Server) gelöschte Session/Cookie erneut und der Server übernimmt die (?)
Hoffe, das einer einen guten Vorschlag hat, wie ich das Zuürcknavigieren entweder verhindern kann (laut web = garnicht) oder eine alternativen Lösungsvorschlag, auf den ich jetzt noch nicht gekommen bin.
Danke...
Nachtrag: schemata
Code:
<Warenkorb_überischt>
|
|-> <Warenkorb_Adresseingabe>
|
|-> <Warenkorb_abschluß>
|
save.php ==> mail.php
|
<Zahlungsbestätigungs_seite>

Kommentar