Refresh Schutz
Markus
- php
Hallo,
hab mir selbst ein Gästebuch gebastelt. Hab eig. nur noch ein Problem wenn der Besucher einen Eintrag postet und danach nochmal F5 drückt wird der Eintrag erneut gepostet, gibt es eine zuverläsige Möglichkeit sich davor zu schützen??? Mann könnte natürlich abfragen ob der Text schon in der Gästebuchdatei steht aber das ist blöd
:-).Jemand ne idee dazu??
MFG Markus
PS:Echt schickes Forum hier, bin schon oft fündig geworden!!!!
SR fürs Posting...
ich nehme an SESSIONS???
MFG MARKUS
Hallo Markus!
ich nehme an SESSIONS???
Leite Deine Besucher nach dem Absenden und speichern der Daten auf eine neue Seite. Die können Sie dann refreshen so viel sie wollen.
Schönen Gruß
Afra
Leite Deine Besucher nach dem Absenden und speichern der Daten auf eine neue Seite. Die können Sie dann refreshen so viel sie wollen.
Ist nicht wasserdicht. Wenn das Laden der neuen Seite dauert, kann man noch beliebig oft den SUBMIT auf der alten Seite auslösen.
Habe mal eine Lösung gesehen, bei der der Submit-Button bei Klick von Javascript entfernt wurde:
http://www.med1.de/Forum/Dermatologie/231554/
Ziemlich unten auf der Seite "Abschicken"
Eine pfiffige Idee dürfte ein "Zeitstempel" sein, den man dem Formular mitgibt:
<input type=hidden name=zeit value=0522171522>
Also am 22.05. um 17:15:22. Könnte man noch auf hundertstel Sekunden ausweiten.
Wenn dieser Zeitstempel zum zweiten Mal kommt: Ignorieren.
Schönen Gruß
Kalle
Hallo Kalle,
Eine pfiffige Idee dürfte ein "Zeitstempel" sein, den man dem Formular mitgibt:
<input type=hidden name=zeit value=0522171522>
Also am 22.05. um 17:15:22. Könnte man noch auf hundertstel Sekunden ausweiten.Wenn dieser Zeitstempel zum zweiten Mal kommt: Ignorieren.
MMh kapier ich net wie das funzen soll kannst mal n kleines beispiel posten. Was ist mit meiner Sessions Idee??
MFG Markus
Hallo
Eine pfiffige Idee dürfte ein "Zeitstempel" sein, den man dem Formular mitgibt:
<input type=hidden name=zeit value=0522171522>
Also am 22.05. um 17:15:22. Könnte man noch auf hundertstel Sekunden ausweiten.Wenn dieser Zeitstempel zum zweiten Mal kommt: Ignorieren.
MMh kapier ich net wie das funzen soll kannst mal n kleines beispiel posten. Was ist mit meiner Sessions Idee??
Im Formular gibt es das oben gezeigte, versteckte Element. Es wird übermittelt und folgendermaßen ausgewertet.
Das ist ein sehr einfaches System. Es hat aber den Nachteil, dass es auf einer sehr stark frequentierten Seite vorkommen kann, dass zwei verschiedenen Besuchern der gleiche Zeitstempel zugewiesen werden kann, da sie die Seite zur gleichen Zeit ausgeliefert bekommen (vorausgesetzt, der Zeitstempel wird serverseitig z.B. per PHP gesetzt). Dies wäre logischerweise ein Fehler.
Deshalb afras Zusatz: "Könnte man noch auf hundertstel Sekunden ausweiten.", was die Wahrscheinlichkeit dieses Fehlers herabsetzt.
Durch eine Kombination mit deinem Session-Ansatz kann man das vermeiden.
Dazu speicherst du den Zeitstempel in der Session. Die Daten der Session werden normalerweise auf dem Server in Dateien gespeichert. Funktioniert also erstmal genau so, wie afras Ansatz. Der Vorteil liegt darin, dass es für jeden Besucher, für den eine Session angelegt wird, eine eigene Datei gibt. Er ist also, durch seine Session(-Datei) eindeutig zu identifizieren, womit der oben beschriebene Fehler nicht auftreten kann.
Tschö, Auge
Hey,
Habe es so gelöst, für mich zufriedenstellend"! der Benutzer macht seine eingaben, klickt auf submit-> die haupt seite wird über window.location.href = "guest.php"; quasi im hintergrund neu geladen. Es geht ein neues Fenster auf, in dem kann sich der User dann entscheiden, verwerfen oder absenden bei absenden schreibt er die daten in das file und löscht alle session variablen bei verwerfen werden nur die session variablen gelöscht.
MFG Markus
Hallo Kalle_B!
Leite Deine Besucher nach dem Absenden und speichern der Daten auf eine neue Seite. Die können Sie dann refreshen so viel sie wollen.
Ist nicht wasserdicht. Wenn das Laden der neuen Seite dauert, kann man noch beliebig oft den SUBMIT auf der alten Seite auslösen.
Habe mal eine Lösung gesehen, bei der der Submit-Button bei Klick von Javascript entfernt wurde:
http://www.med1.de/Forum/Dermatologie/231554/
Im OP wollte Markus eine Lösung damit _nach_ dem Absenden auf der dann geladenen Seite ein Reload der Seite keinen neuen Eintrag mehr schafft. Dafür reicht meine Lösung völlig aus. Du beschreibst ihm eine Lösung für ein zweimaliges Klicken auf den Submitbutton. Das wollte er an sich nicht wissen.
Schönen Gruß
Afra