Reloudsperre nach Datenbankeintrag?

_SH_

Mitglied
Hallo.

Ich hab eine Datei geschrieben, die per <input type=hidden> mehrere Werte übergibt, die nach dem neuladen der Seite in eine Datenbank geschrieben werden.
Der Nutzer macht z.B. einen Haken bei "erledigt", klickt auf eintragen, die Seite wird neu geladen und in der Datenbank wird eine Zahl um 1 erhöht.
Jetzt habe ich das Problem, das wenn die Seite nach dem eintragen neu geladen wurde, man das eintragen/erhöhen des Wertes in der Datendank durch einfaches, wiederholendes reloaden der Seite beliebig oft wiederholen kann.
Drückt man F5, werden anscheindend die noch vorhandenen Werte wieder berücksichtigt und nochmals der Wert in der DB erhöht.
Wie kann ich das nach dem 1. eintragen verhindern?

Gruß
 
in dem Du die IP mit in die Datenbank schreibst. Und vorher einfach überprüfst ob es diese IP in einem bestimmten Zeitraum oder zu dieser Aktion schon gibt.

Gruß Mirko
 
Da ist dann das Problem, das jeder Nutzer auch in abständen von nur 1 Sekunde o.ä. einen Haken nach dem anderen setzen darf. Es darf eben nur nicht über die Reload-Funktion funktionieren.
Wenn die Anzahl der abgehakten Einträge in der Datenbank eine bestimmte übersteigt soll das Eintragen nicht mehr möglich sein.
Der Button für den Funktionsaufruf wird in dem Fall auch ausgeblendet, aber über Reload kann der Wert eben trotzdem erhöht werden.

Gruß
 
Dazu kommt noch, das viele User mit einer IP auf die Datenbank zugreifen können. Von einem Firmennetzwerk aus, was diese Möglichkeit schon wieder ausschließt.
 
Dann arbeite doch mit Sessions, starte die Session und speicher einen Wert nach dem Speichern darin ab. So kannst Du überprüfen ob es den Wert schon gibt oder nicht! Und somit den doppelten Eintrag nach einem Reload verhindern.

Gruß Mirko
 
Zurück