Zurückbutton vom Browser

Hattrix

Erfahrenes Mitglied
Hallo,

ich habe ein Script programiert, mit Variablenweitergabe über "method=post". Die Formulardaten gebe ich auf eine nächste Datei weiter.

Wenn man aber den "Zurückbutton" von Brwoser verwendet, hat man immer wieder die Daten, die man vorher hatte.

Beispiel:

Datei1.php gibt man werte ein. Ausgabe (mit Berechnung) in Datei2.php. Klickt man dann auf Zurück des Browsers, hat man wieder die alten Daten.

Weiß jemand, wie man den "Bug" beheben kann?
 
Das ist kein Bug... Wenn du zurück gehst, über den Button, musst du ja logischerweise die alten Werte erhalten, da es ja vor der Berechnung war... Stört dich das? Dann weise in Datei2.php die Ergebnisse Session-Variablen zu und prüfe auf Seite1.php immer, ob die Session existiert und wenn ja, gib sie aus, z.B:
PHP:
<?php
// Berechnung auf Seite2.php
if(isset($_POST['variable']) && intval($_POST['variable']) > 0){
   $_SESSION['variable'] = intval($_POST['variable']) * 5;
}
?>

// Seite1
<form action="Seite2.php" method="post">
<input type="text" name="variable" value="<?php echo isset($_SESSION['variable']) ? $_SESSION['variable'] : ''; ?>" />
</form>
NMatürlich muss an den Anfang von Seite2.php und Seite1.php [phpf]session_start[/phpf]
 
Ich glaube, du hast mich richtig verstanden, dennoch will ich mein Problem an ein genaueres Beispiel erklären.

Wettspiel:

Datei1.php -> Man hat ein Geldwer dastehen. Muss auf ein Ereignis tippen mit einem "type=radio". Und dann kann man den Betrag eingeben, den man setzen möchte. Ich übergebe eben alles der Datei2.php mit dem "POST".

Datei2.php -> Ergebnis der Wette über Zufall. Man macht gewinn oder eben verlust. Macht man z.B. verlust, kann ich jederzeit den Zurückbutton des Browsers nehmen, und ich habe wieder das Startkapital. Und genau das Startkapital soll man nicht haben, sondern eben z.b: den Verlust.

Session möchte ich ungern nutzen, da der Aufwand für mich zu groß wäre. Gibt es keine andere alternative zu sessions?
 
Hallo,
Datei1.php gibt man werte ein. Ausgabe (mit Berechnung) in Datei2.php. Klickt man dann auf Zurück des Browsers, hat man wieder die alten Daten.

Wenn du zurück drückst lädt er wahrscheinlich die gesamten Daten aus dem Cache des Browsers. Dies würde Firefox jedenfalls tun. Sprich, er fragt nicht nochmal im Internet nach sondern nimmt alles von deiner Festplatte.
Der Internet-Explorer müsste die Daten erneut abfragen, dies würde aber zu Folge haben, dass deine Formular-Felder leer sein müssten.
 
Zuletzt bearbeitet:
Zurück