[Forced Paidbanner Reloadsperre] Wie wird das gemacht?

Drrichardfahrer

Well-known member
ID: 207405
L
20 April 2006
7.060
691
Da ich mich ein wenig mit der Funktionalität von MySQL und PHP in Bezug auf die Paid4-Szene erkundige, fiel mir folgende Sache auf.

Wie wird eigentlich die Reloadsperre für die Forced Paidbanner programmiert??
Hat da jeder einzelne Banner eine eigene Tabelle? Oder wird die Reloadsperre bei der User-Tabelle eingetragen?? Oder wird das bei der Forced-Paidbanner-Tabelle (also wo alle gebuchten Banner stehen) vermerkt??
Irgendwie geht das ja überhaupt nicht, oder denk ich falsch - weil es müsste ja für JEDEN Banner für JEDEN User die Reloadsperre eingetragen werden...oder???

Wie wird das gelöst??
 
Naja, ich will einfach nur wissen, wie das mit Tabellen realisiert ist... :)
Ganz allgemein gesprochen. Ich hab mich mal vor einiger Zeit über das Refsystem hergemacht und hab das nun verstanden - aber mit der Reloadsperre (wo ja Timestamps gespeichert werden) check ich nicht...
 
Du machst einfach eine Tabelle mit den Spalten für BannerID, UserID (oder IP) und timestamp. Dort wird für jeden Banner und jeden User (oder IP) eingetragen, wann der Banner aus der Reloadsperre wieder rauskommt.
 
Das heißt also, ich hab in dieser Tabelle ruhig mehrmals dieselbe Banner ID (eben für jeden User, der bereits geklickt hat)???
Wird da die Tabelle nicht unheimlich groß? Das sind ja dann Tausende von Einträgen, oder??
 
Japp, die könnte recht gross werden. Aber deshalb speichert man ja noch den Timestamp dazu und löscht die Einträge, die aus der Reloadsperre raus sind.
 
Hallo

1. Es wird überprüft, ob der Banner schon geklickt wurde.
WENN NEIN -> Banner anzeigen!
WENN JA -> Banner nicht anzeigen
2. Wenn Banner geklickt und Zeit abgelaufen UND Banner noch NICHT geklickt
- Lose auf Account Gutschreiben
- In die Tabelle schreiben, dass User UID Banner BID geklickt hat
Wo ähnlich müsste das aussehen! Hoffe es hat dir geholfen!

P.S.: Da die maximale Reloadzeit eines Banners bei 24 Stunden liegt, empfehle ich dir, diese Tabelle per Cronjob alle 24 Stunden einmal zu leeren (NICHT LÖSCHEN). Also mit TRUNCATE `tablename`

MfG, Andy
 
P.S.: Da die maximale Reloadzeit eines Banners bei 24 Stunden liegt, empfehle ich dir, diese Tabelle per Cronjob alle 24 Stunden einmal zu leeren (NICHT LÖSCHEN). Also mit TRUNCATE `tablename`

Und wenn ein User kurz vor dem Ausführen des TRUNCATE-Befehls auf den Banner mit Reloadsperre 24 Stunden geklickt hat, darf er gleich nach dem Ausführen nochmal klicken?

Code:
DELETE FROM reloadsperre WHERE reload_ende < UNIX_TIMESTAMP()