Hi Stuck
Ich würde es wie folgt machen:
Mach eine eigene Tabelle (drei Felder: z.B.: id, code, aktiv --- Wobei aktiv den Standardwert 1 hat, und die id ein autoincrement-Feld ist).
Wenn der Benutzer auf die "Bitte Warten"-Seite weitergeleitet wird, machst du einen Eintrag in der besagten Tabelle, wobei du in code eine eindeutige Buchstaben/Zahlen-Folge reinschreibst (in PHP würd ich es mit 'md5(uniqid(microtime()))' machen).
Bei den Daten die abgesendet werden, machst du zusätzlich zwei Hidden-Input Felder, und zwar für die id und den code.
Nun überprüfst du bei der Buchung, ob dort wo die ID die ID aus dem Form und der Code der Code aus dem Form ist, aktiv noch auf 1 ist. Wenn sie auf 1 ist, wird die Buchung durchgeführt, sonst nicht.
Nachdem eine Buchung vollzogen ist, setzt du den aktiv-Wert auf 0. So kann jede Buchung nur 1x durchgeführt werden.
Die IP-Sperre würde ich aus folgendem Grund weglassen: Wenn jemand einen Proxy benutzt, kann es sein (vor allem bei großen Providern) dazu kommen, dass er über verschiedene Proxys mit verschiedenen IPs geroutet wird.
Hoffe geholfen zu haben
