[F5 Problem]Wie erkennen, ob Eintrag schon exisitiert ?



  • Hi!
    Ich denke das Problem ist bekannt. Wenn ich jetzt zb. auf einer Seite bin, wo ich Name, Text, Email angeben kannt, dann auf Eintragen klicke und dann auf die Seite gelinkt werde wo das ganze dann ausgewertet und dann Eingetragen wird, und der Anwender dann nochmal auf F5 drückt(reloading taste) der Eintrag nochmal eingetragen, und bei einem zweiten tastendruck nochmal eingetragen.

    Meine Frage ist, welche Möglichkeiten kennt ihr ?
    Immer zu testen, ob ein Datensatz die gleichen Werte hat, ist mir zu risiko reich. Da es vielleicht mehere gleiche Datensätze geben könnte.

    Und die Möglichkeit, dass man nur jede Minute einen Datensatz hinzufügen kann ist auch nicht sehr praktisch.

    Was fällt euch noch ein ?

    Bye



  • beim drücken auf eine andere seite leiten und wieder redirecten...

    ich glaub so ist es am besten.. damit müssten die daten dann weg sein.



  • Es kann in einer DB nie mehrere gleiche Datensätze geben.
    Jeder Datensatz muss eindeutig sein und wen er sich nur in der id unterscheidet.



  • Das kann man so pauschal nicht sagen (es muss nicht unbeding ein UNIQUE-Feld geben)



  • Original erstellt von flenders:
    Das kann man so pauschal nicht sagen (es muss nicht unbeding ein UNIQUE-Feld geben)

    Hi flenders,

    wie meinst'n Du das?
    Jeder Datensatz muss sich doch zumindest im PKey unterscheiden, wie Unix-Tom gesagt hat. 😕

    Gruß,
    mid



  • Original erstellt von Unix-Tom:
    Es kann in einer DB nie mehrere gleiche Datensätze geben.
    Jeder Datensatz muss eindeutig sein und wen er sich nur in der id unterscheidet.

    es geht meiner meinung nach jedoch um die schwierigkeit, daß ein user mehrmals abschicken kann, weil die daten noch im speicher sind.

    ich hatte auch dieses prob, daß datenmüll produziert wird, weil ein user immer wieder auf refresh (aktualisieren) vom browser drückt und damit den datensatz öfters einträgt, natürlich mit unterschiedlicher id, die wird zum bleistift autoincrement hochgezählt.

    diese refresh (aktualisierungs) aktion will abgefangen sein. entweder durch ein nachfragen einer oder mehrerer aspekte in der datenbank selber, also: existiert schon ein satz, der dieseselbige strasse, hausnummer und telefonnummer enthält, das ist aber oft zu unsicher, deshalb würde ich ihn beim abschicken sofort weiterleiten über ZWEI seiten, damit der cache im refresh leergeräumt wird.



  • Der datensatz unterscheidet sich doch im Pkey, wenn er sagt, dass der jedes mal automatisch erstellt wird, also quasi einfach inkrementiert wird... wenn du den nicht explizit mit einträgst, dann erhöht der sich von selber, d.h. der Pkey ist ungleich aber der rest schon.

    eine lösung wäre hier, du überprüfst erst, ob dieser datensatz, oder ein wichtiger bestandteil (z.b. emailadresse ist sehr gut) schon in deiner Datenbankvorhanden ist und wenn ja gibste nen text aus von wegen email schon vorhanden und trägst das ganze eben net in die datenbank ein (If - else abfrage)

    cya



  • Jetzt weiß ich wie Ihr das meintet, dass nicht noch ein UNIQUE Feld mit drin sein muss. Ist ja auch klar.

    Ich würde dann auch sagen, dass ne geschickte Weiterleitung am besten ist. Wenn nicht kann man ja auch zu ner Session greifen. Aber da schießt man wahrscheinlih schon wieder mit Kanonen auf Spatzen.

    MfGr,
    mid


Anmelden zum Antworten