zeneca: F5 / Seite aktualisieren abfangen

Hallo liebe Leute,

ich weiß jetzt nicht in welches Themengebiet meine Frage optimal paßt
aber einfaches html kommt mir dabei am sinnvollsten vor.

Mein Problem ist anhand eines Beispiels relativ leicht zu erklärt,

Bei meiner Seite kann man einen Datensatz in einem Formular zusammenstellen
und wenn man dann auf "der Datenbank hinzufügen" klickt,
wird der Inhalt in einer Tabelle eingetragen
und wenn man jetzt F5 bzw. "aktuelle Seite neu laden" klickt
wird logischer Weise der gleiche Datensatz abermals hinzugefügt (u.s.w.)
weil (zumindest der Firefox) auch die ganzen Formulardaten neu überträgt

gibt es da irgend eine Möglichkeit das zu unterbinden,
oder sonstwie abzufangen,
oder habe ich da einen konzeptionellen Fehler  in meinem Programm?

ich habe es erfolglos mit diversen unsets (php) versuch
und konnte auch sonst nichts im Netzt finden

ich bin um jeden Vorschlag dankbar

Lieber Gruß
Zen

  1. gibt es da irgend eine Möglichkeit das zu unterbinden,
    oder sonstwie abzufangen,

    Ja, du prüfst serverseitig ob der Datensatz schon vorhanden ist. Wenn ja, wird eine Fehlermeldung generiert.

    oder habe ich da einen konzeptionellen Fehler  in meinem Programm?

    Ja, offensichtlich prüfst du keine Datensätze vor dem Eintragen. Kann sein, dass du dadurch richtig schöne Sicherheitslücken zusätzlich im System hast.

    Wenn du den Datensatz vor dem Eintragen prüfst, ist dein Problem an sich eh schon gelöst, du musst nur die Abfrage anpassen.

    BTW: Hätte evtl. Sinn gemacht, wenn du geschrieben hättest, welche Programmiersprache du serverseitig verwendest.

  2. Hallo liebe Leute,

    ich weiß jetzt nicht in welches Themengebiet meine Frage optimal paßt
    aber einfaches html kommt mir dabei am sinnvollsten vor.

    Mein Problem ist anhand eines Beispiels relativ leicht zu erklärt,

    Bei meiner Seite kann man einen Datensatz in einem Formular zusammenstellen
    und wenn man dann auf "der Datenbank hinzufügen" klickt,
    wird der Inhalt in einer Tabelle eingetragen
    und wenn man jetzt F5 bzw. "aktuelle Seite neu laden" klickt
    wird logischer Weise der gleiche Datensatz abermals hinzugefügt (u.s.w.)
    weil (zumindest der Firefox) auch die ganzen Formulardaten neu überträgt

    gibt es da irgend eine Möglichkeit das zu unterbinden,
    oder sonstwie abzufangen,
    oder habe ich da einen konzeptionellen Fehler  in meinem Programm?

    ich habe es erfolglos mit diversen unsets (php) versuch
    und konnte auch sonst nichts im Netzt finden

    ich bin um jeden Vorschlag dankbar

    Lieber Gruß
    Zen

    Du kannst nach dem Eintragen zb weiterleiten. (header("Location: url"))
    Du kannst ein Cookie setzen.
    Du kannst unique constraints in die DB hauen.
    Du kannst die IP und SessionID mitloggen und mit nem timestamp dann auch länger sperren.

    Je nachdem was du machen möchtest

  3. Moin!

    Bei meiner Seite kann man einen Datensatz in einem Formular zusammenstellen
    und wenn man dann auf "der Datenbank hinzufügen" klickt,
    wird der Inhalt in einer Tabelle eingetragen
    und wenn man jetzt F5 bzw. "aktuelle Seite neu laden" klickt
    wird logischer Weise der gleiche Datensatz abermals hinzugefügt (u.s.w.)

    Ja. Solche eines-für-alle-Skripte sind Murks.

    Besser ist: Skript 1 macht nur den Eintrag in die Datenbank (und KEINERLEI Ausgaben!) und leitet den User-Agent (Browser) mit header ('Location ...'); zu einem zweiten Skript weiter, welches wieder nur für die Anzeige sorgt.

    Das umgeht dann dieses leidige "Sie haben da einen Haufen Daten übertragen, die nochmal übertragen werden müssten. Wollen das wirklich?". Natürlich nur in dem Fall, dass es sich beim letzten Request um einen POST-Request handelt.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

  4. [latex]Mae  govannen![/latex]

    und wenn man jetzt F5 bzw. "aktuelle Seite neu laden" klickt
    wird logischer Weise der gleiche Datensatz abermals hinzugefügt (u.s.w.)
    weil (zumindest der Firefox) auch die ganzen Formulardaten neu überträgt

    Die Umleitung per redirect wurde ja bereits angesprochen, Stichwort PRG-Pattern

    Stur lächeln und winken, Männer!
    Kai

    --
    Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken
    in Richtung "Mess up the Web".(suit)
    SelfHTML-Forum-Stylesheet