URL/HTTPD Vars Loeschen // formulardaten

hi @ll

ich möchte verhindern das beim aktualiesieren doppelte eintraege gemacht werden

ich habe ein script geschrieben welches formulardaten innerhalb eines framesets auswertet bzw. in einer textdatei speichert (sowas wie ein guestbook)

eintragungen laufen auch schön und gut nur wenn ich aktualisiere wird der selbe eintrag wider geschrieben

ich denke weil das script sich die fomular variablen aus der url holt
also sie werden nicht von dem formular uebergeben sondern befinden sich noch hinter der url der seite im frameset

weiss jemand wie ich die nach dem ersten submit ENDGÜLTIGH lösche
bzw. wie ich mit meinem problem fertig werde?

danke für deie mühe und evtl. hilfe
thx & greetz
nilzn

Kann es sein, dass du mit der GET-Nethode arbeitest? also ich arbeite grundsätzlich mit post, da es sicherer und komplexer ist und dabei hatte ich dieses Problem bisher nicht.

das problem tritt auch mit post auf

also ich mach n eintrag
passiert…
klicke dann auf aktualisieren
dann warnfenster:
Die Seite kann ohne ein erneutes Senden der Information nicht aktualiesiert werdn
Klicken Sie auf…
und dann wird der eintrag nochmal geschrieben weil der browser die Vars noch hinter dem ? in der URL hat
jemand meinte schon IP blocking
aber sowas kommt doch so häufig
na ja
greetz nilzn

Kann es sein, dass du mit der GET-Nethode arbeitest? also ich
arbeite grundsätzlich mit post, da es sicherer und komplexer
ist und dabei hatte ich dieses Problem bisher nicht.

Lasse keinen cache zu und nutze post, dann sollte es klappen.
Ansonsten vielleicht einfach nach absenden des formulars direkt auf ne andere Seite weiterleiten, dann tritt das Problem sicher nicht mehr auf :smile:

naja, ob du es mit post oder mit get machst ist fuer das problem irrelevant.

du speicherst einfach zusaetzlich zu den daten noch eine tan, die beim aufruf des forms generiert wird und als hidden feld uebertragen wird. dann schaust du vor dem speichern nach, ob es schon einen eintrag mit der tan gibt.

achtung, die tan muss unique sein

hi
was ist eine tan?
was meinst du damit
thx

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

transaktionsnummer.
du weisst jedem formularaufruf eine eindeutige nummer zu und
kannst damit erkennen, ob ein form 2mal abgeshickt wurde

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

danke ich probiers mal
cu

Hallo!

Das hat weder etwas mit gespeicherten Daten in der URL zu tun noch mit der Verwendung von Post oder Get.

Wie du ja richtig beschrieben hast, fragt dich der Browser beim Neuladen der Seite, ob er die Daten nocheinmal übertragen soll.
Das hängt damit zusammen, dass er die zuletzt eingegebenen Daten in einem internen Cache speichert. Das ist doch eindeutig und ganz logisch, dass er es dann nocheinmal einträgt.

Viele Grüsse,
Andreas Bulling

hi andreas

hast du denn noch ne andere möglichkeit dies zu verhindern
kann ich cache löschen?
wenn wie

grüße nilzn

Hallo,

einfach nicht mehr auf Aktualisieren klicken :wink:

Gruss,
Andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

weist du wie das mit header() geht
werde nämlich direkt weiterleiten
damit ich dann so oft wie ich will aktualisieren klicken
bäh :smile:

krieg da nur ne komische fehlermeldung:

Warning: Cannot add more header information - the header was already sent (header information may be added only before any output is generated from the script - check for text or whitespace outside PHP tags, or calls to functions that output text) in /vserv/d/dubios01/htdocs/mainpoll/content.php on line 51
kannst du mir erklären wie ich die weiterleitung mache

grüsse
nilzn

Werde ich gerne tun, wenn du mir das nochmal auf Deutsch übersetzt :wink:

Gruss
Andreas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

also ich will das problem jetzt umgehen in dem ich einfach nochmal auf die selbe seite weiterleite(aber nur einmal) nur ohne variablen die uebergeben werden

wie mach ich nun eine weiterleitung in php bzw. einen reload ohne den ganzen sülz

grüße

Siehe Beitrag „Download-Counter mit PHP und MySQL“

Gruss
Andreas

juchuu es klappt
script liegt und einlese seite sind jetz verschieden
und script leitet weiter an einlese.seite so das beim reloaden kein schreibscript ausgeführt weren kann
juchu
danke nilzn