cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 68138
Mitglieder online: 8
Gäste online: 3
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: Formular Reload verhindern

Thread: Formular Reload verhindern

Seite 1 von 212

18.04.2008 14:31 Uhr

 

Status: offline
Ich habe das altbekannte Problem das der Reload eines Formulares den submit wiederholt.

Folgender Lösungsansatz:
- alle Postdaten speichern und vergleichen beim erneuten Absenden

finde ich nicht besonderst geeignet.

Ich hab versucht folgendes zu tun:
PHP:
1
2
foreach($_POST as $POST)
      {      unset($POST);      }
doch bei einem Reload wird der scheinbar gecachte Post nochmal versendet.
Hat jemand eine idee wie man dies umgehen könnte?
18.04.2008 14:41 Uhr

 

Status: offline
Ich denk mal, dass du die Client-Seite meinst. Da bringt dir das Löschen von $_POST rein gar nichts. Beim Aktualisieren der Seite im Browser wird ja lediglich ein neuer Request an den Server gesendet, der dieselben Daten beinhaltet, wie der vorherige. Du könntest aber einfach nach dem ersten Request eine Weiterleitung auf die gleiche URL mit Hilfe von header() an den Client senden. Bei dem ersten Request sollte das Skript dadurch die Formulardaten verarbeiten, der Client erhält als Antwort eine Weiterleitung und fordert daraufhin die Seite ohne POST-Daten erneut an. Dadurch sollten die Post-Daten beim Client aus dem ersten Request nicht mehr vorhanden sein, weil der zweite Request ja keine Formulardaten mehr enthält.
___________________________
Programmieren ist eine Sucht deren Rausch ein Gefühl der Macht ist... sofern man den Computer bezwingt. Gefährliche Nebenwirkungen: Verstärkter Kaffee-Konsum, erhöhter Ehrgeiz und ggf. Wutausbrüche und verknotete Gehirnwindungen.
18.04.2008 14:46 Uhr

 

Status: offline
ja das wäre eine Idee. Danke :)
20.04.2008 01:05 Uhr

 

Status: offline
was mich da schon lange interessiert, ob es da nicht vlt. auch noch eine andere Möglichkeit gibt?
Ich benutze selbst die Headermöglichkeit, aber so das eleganteste ist es ja nun nicht oder?

Wobei das vergelichen der Postdaten auch nicht wirklich Sinn macht....
Ist nur Serverlastig  :roll: 

Vlt. hat ja jemand noch was parat, wobei ich das nicht glaube, weil ich sehe eigentlich immer nur diese Möglichkeit mit dem Header, ausser ein paar machen es auch über Meta-Tags (jaa wirklich serh intelligent)  :lol: 
Ich denke jedoch, dass wir über die Meta-Tag Variante nicht weiter reden müssen  :tongue: 

LG
Jens
___________________________
Meine Homepage:
http://thewebwar.cybton.com/
20.04.2008 01:36 Uhr

 

Status: offline
Ich habe das mal in einem Gästebuch so gemacht, das die IP und ein Zeitwert mitgespeichert werden.
Bei jedem abschicken des Formulares wurde dann zusätzlich geprüft ob die IP innerhalb der letzen 2-3 Minuten schon einmal eingetragen wurde bzw ob sie existiert, war das der Fall gab es eine Fehlermeldung, wenn nicht wird gespeichert.

Das ist zwar wie du schon sagtes etwas serverlastig, es Schützt allerdings gleichzeitig ein wenig vor irgendwelchen Spambots die dir per POST-Request gleich 10 Einträge "schenken" möchten.


~Tobias
1 mal bearbeitet
___________________________
Gemeinde Jugend Vertretung Bremen
"Ich will das Rad kein zweites mal erfinden,
ich will nur verstehen wie es funktioniert !"
20.04.2008 08:39 Uhr

 

Status: offline
noja, die nicht sichere variante wäre die mittels session und/oder cookies, aber im allgemeinen ist da die header-variante sicher besser!
___________________________
see you on
--> www.moskito-rv.de
--> www.sone-works.de
20.04.2008 09:50 Uhr

 

Status: offline
Das denke ich auch, wobei du natürlich den Vorteil bei Cookies hast mit Javascript arbeiten zu können, wenn du denn wirklich Arbeit am Server vermeiden willst.
___________________________
"Etre fort pour être utile" - Georges Hébert
20.04.2008 10:15 Uhr

 

Status: offline
Natürlich gibt es noch eine andere Möglichkeit die Daten beim neu-Laden der Seite nicht mehrfach zu verschicken: Ajax. Das Abschicken des Formulars löst du einfach mittels Ajax, dadurch wird die Seite nicht neu geladen und bei einem Druck auf F5 bzw Aktualisieren werden keine Post-Daten erneut geschickt. Gab ja schließlich nie welche.

Edit: Die eleganteste Methode ist aber wahrscheinlich dem User nach dem Abschicken das Formular nicht erneut anzuzeigen, sondern Ihn drüber zu informieren, dass das Versenden erfolgreich war, oder die Daten erfolgreich gespeichert wurden.
1 mal bearbeitet
___________________________
Programmieren ist eine Sucht deren Rausch ein Gefühl der Macht ist... sofern man den Computer bezwingt. Gefährliche Nebenwirkungen: Verstärkter Kaffee-Konsum, erhöhter Ehrgeiz und ggf. Wutausbrüche und verknotete Gehirnwindungen.
20.04.2008 10:21 Uhr

 

Status: offline
joa
AJAX setze ich selbst sehr häufig ein  :tongue: 
Nur bei einem Gästebuch ist das nicht so unbedingt das Beste  :glad: 
Also ist zumindest meine Meinung.
Ich setzte AJAX sehr Häufig bei der Verwaltung im Adminbereich ein, weil dies doch sehr komfortabel ist, weil man die ständigen reloads nicht hat^^
Auch wenn man tolle Effekte haben will wie z.B. bei einer Galerie  :wink: 

Und die IP Sperre ist ja auch nicht wirklich das gelbe vom Ei
Was ist z.B. wenn jemand seinen Eintrag ergänzen möchte, weil er was vegessen hat?!

Naja im Großen und Ganzen könnte man schon sagen die Headermethode ist die Beste  :lol: 

LG
___________________________
Meine Homepage:
http://thewebwar.cybton.com/
20.04.2008 11:10 Uhr

 

zombie3456
Programmierer
Status: online
Zitat:
Edit: Die eleganteste Methode ist aber wahrscheinlich dem User nach dem Abschicken das Formular nicht erneut anzuzeigen, sondern Ihn drüber zu informieren, dass das Versenden erfolgreich war, oder die Daten erfolgreich gespeichert wurden.
Damit ändert sich aber nichts daran, dass es noch einmal gesendet wird, wenn der Nutzer auf den Zurück-Button seines Browsers klickt und die Meldung - zumindest beim Firefox kenne ich sie - ignoriert, dass seine Daten dadurch zweimal gesendet werden.
Das wäre mir vor kurzem fast bei einer Bestellung passiert ^_^;;; (soll embarrassed sein, wir haben ja leider keinen rot anlaufenden Smiley).
Die Methode, die du ansprichst, ist ja eigentlich nur nützlich, wenn der Nutzer vorsätzlich zweimal seine Daten absenden will, oder verstehe ich da etwas falsch?
___________________________
DURATIVUM | Blog zur Sprache Latein
Seite 1 von 212
Ähnliche Threads Forum Ähnlichkeitsgrad
 Formular in Mail und als PDF-Anhang Website & Webprogrammierung 1
 [gelöst] Dynamisches Formular aber wie? Website & Webprogrammierung 1
 Formular Spiel (mit Javascript) Website & Webprogrammierung 1
 [Gelöst] JS Formularelemente je nach Eingabe anzeigen/verstecken, Probleme im IE Website & Webprogrammierung 1
 PHP Dateiupload nicht nach "submit" Klick starten ??! - sondern auf neuer Seite Website & Webprogrammierung 1
 JS: Zugriff auf Formularelemente Website & Webprogrammierung 1
 File upload funktioniert nicht (php) Website & Webprogrammierung 1
nach obennach oben

Copyright © 2008 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung