Seite 1 von 1
Reload verhindern
Verfasst: 24.02.2004 13:48
von sixt173
Hallo,
habe ein kleines php-Script mit Sessions. Außerdem gibts eine globale Sessionvariable, die speichert, welche Seiten schon besucht wurden und nach dem Besuch einer Seite um eins hoch gezählt wird.
Wenn ich z.B. auf der 3. Seite in Folge bin, ist die Sessionvariable 3 und es wird automatisch zur 4. Seite gegangen.
Drücke ich auf der 3. Seite nun aber Reload im Browser, so kommt nur noch Quatsch raus und die bisherigen Eingaben sind für den Ar****.
Kann ich das irgendwie verhindern, beispielsweise, dass alles abgebrochen wird und man auf die Anfangsseite kommt?
Oder besser, der letzte Zustand wird unverändert dargestellt, da etwas in die DB geschrieben wird.
Danke
Verfasst: 24.02.2004 20:01
von k-5
einen reload zu verhindern ist keine große sache ..
einfach nicht mit der seite die die daten speichert die neue fragen seite ausgeben .. sondern nur einen header redirect .. damit ist man schon bei der nächsten seite und der reload wird sinnlos ..
nur bringt das bei deiner seite auchned viel ..
(ein zurück clicken (mit meiner methode kommt kein "daten erneut senden" mehr) .. daten neu eintragen .. und nochmal absenden .. wird man wohl nicht verhindern können)
einfach stabiler programmieren ..
z.b. könnte es schon reichen .. einen hidden input, mit der seitennummerm, mit der sessionvariable zu vergleichen ..
ned perfekt aber doch für das meiste brauchbar ..
Verfasst: 25.02.2004 08:03
von sixt173
Was hat der Header damit zu tun?
Kannst Du ein Beispiel dazu schreiben?
Und was meinst Du mit stabiler programmieren???
Wie programmiert man stabil (bzw. wie setzt man eine Seite vernünftig um)?
hidden-input werd ich versuchen
ned perfekt aber doch für das meiste brauchbar ..
Was ist denn perfekt? Wie programmiert man sowas "perferkt"
Verfasst: 25.02.2004 13:32
von k-5
des hat soviel mit dem header zu tun .. das seiten die einen header redirect zurückgeben im ie(und jedem anderen mir bekannten browser) nicht als besuchte seiten zählen (sondern nur die seite auf die der redirect verweist) ..
n code beispiel bringt nix weil das nur ein seiten konzept ist .. für den kein explizierter code gebraucht wird ..
höchsten:
Code: Alles auswählen
header( 'Location: http://deindomain.de/neueseit.php' );
n existierendes beispiel (mein guestbook) ..
http://www.metalstage.de/main.php?site=dotbook
zu "stabil programmieren" .. kann man auch ned viel allgemeines sagen .. gehört viel erfahrung dazu .. jeden input schön auf richtigkeit prüfen .. lernen kann man das nur indem man schön viel fehler macht .. und es selbst besser hinkriegt(ned wegen jeder kleinigkeit nachfragen sondern das eigene gehirn anstrengen) .. fremden guten(!) code anschauen und verstehen .. ich mach auch noch massenhaft fehler .. man sollte sie jedoch nicht alzu oft wiederholen ..
perfekt ist ne seite wenn jedem (ned nur dir) .. keine möglichkeit mehr einfällt deine sicherheitsvorkehrungen zu knacken .. nur kenn ich deine seite nicht um zu sagen ab wann mir nixmehr einfällt um da etwas zu umgehen ..
(bei dem hidden input reicht es im sourcecode den value zu überschreiben .. fertig .. )