Dubletten in der Datenbank bei Neuladen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Dubletten in der Datenbank bei Neuladen

    Hallo liebe Gemeinde!

    Weil mir schon mal so trefflich von euch geholfen wurde, setze ich wieder mal meine Hoffnung in dieses Forum! Google hat zwar so einiges ausgespuckt, wollte aber auch eure Meinung lesen.
    Die Aufgabe:
    Ein Formular soll eingegebene Daten in eine Datenbank schreiben. Das Formular verweist auf die selbe Seite. Die Daten werden in die DB eingetragen.
    So weit so gut...
    Das Problem:
    Ein refresh erzeugt einen neuen DB-Eintrag
    erster Lösungsansatz:
    Vor dem DB-Eintrag den submit-button abfragen -> kein Erfolg... Okay, das versteh ich. einmal die Variable $_GET['senden'] gesetzt, bleibt sie bestehen.
    zweiter Lösungsansatz:
    Nach dem DB-Eintrag die Variable löschen mit unset($_GET['senden]) -> das hat auch nicht geholfen.

    Und da bin ich jetzt am Ende meiner "Künste"... Das versteh ich jetzt nimmer.

    Meine Frage:
    Kann das überhaupt so funktionieren mit der Abfrage der Variable? Oder muss ich eine eigene Seite einrichten? Oder muss ich (was google so schreibt) mit session arbeiten?

    Ich will niemanden mit meinem Code überfallen, wenn ihn sich aber jemand anschauen will, poste ich ihn gerne!

    lg
  • Vorschlag 1:
    Du suchst in der Datenbank nach den übergebenen Daten. Falls bei deiner Struktur doppelte Datensätze ausgeschlossen sind, kannst du somit feststellen, ob der Benutzer schon den gewünschten Eintrag gemacht hat.

    Vorschlag 2, mein Favorit:
    Du erstellst eine eigene Seite, die die Daten in die Datenbank einträgt. Falls gewünscht, kannst du mittels header() wieder auf die Anfangsseite zurückleiten.

    Vorschlag 3:
    Wie du bereits erwähnt hast, kannst du in der Session des Benutzers speichern, dass diese schon den entsprechenden Eintrag gemacht hat.

    Vorschlag 4:
    Du könntest die IP des Benutzers und den Timestamp (Zeitpunkt des Eintrages) in der/einer anderen Tabelle speichern und eine zeitliche Limitierung der Einträge vornehmen.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.