login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Bekeken per ip!

Offline az0w - 30/07/2009 17:33
Avatar van az0wNieuw lid Ik heb een soort tracks systeem met het aantal x beluisterd.
Het is irritant als mensen de pagina vernieuwen en dat er dan gelijk +1 erbij komt.
Wat ik steeds probeer en mij niet lukt is, dat er per ip +1 komt.
Dus dat mensen niet meer steeds kunnen vernieuwen.

Bij mij is het nu dit:
http://www.plaatscode.be/137264/


Maar ik had van iemand gehoord dat ik een tabel moest maken, nou dat heb ik gemaakt genaamd Hits:
http://www.plaatscode.be/137265/

En de gene die zei tegen mij Zo kun je zelf met 'SELECT COUNT(DISTINCT ip) FROM hits' de aantal unieke hits oproepen.

En ik ben dus zover komen, en het lukt me toch niet.
http://www.plaatscode.be/137266/

Wie weet deze probleem op te lossen? Aub..

Mvg,

2 antwoorden

Gesponsorde links
Offline ArieMedia - 30/07/2009 17:53
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Als ik jou was zal ik van datum "tijd" maken.
En dan de phpfunctie time(); gebruiken.
Daarna kan je een controle doen
  1. // Uitgaand dat $iTijd uit de database komt en dus de gebruikers-tijd bevat
  2. if($iTijd < time()) {
  3. // Je mag weer wat zien
  4. } else // Je mag niks zien!


Als een gebruiker refreshed voer je deze sql uit:
  1. UPDATE hits SET aantal_hits = aantal_hits +1 WHERE ip = "Een IP"';


met PHP controleer je of de gebruiker de maximum al heeft gehaald, zo ja dan voor je een sql-query uit waarmee het veld "tijd" een aantal minuten groter is dan de huidige tijd.

  1. //Uitgaand dat $iHits het aantal uit de tabel is.
  2. $iMax = 10; // maximaal 10 views
  3. $iRange = 60; // is 1 minuut
  4. $iNT = time() + $iRange;
  5. $sIP = $_SERVER['REMOTE_ADDR'];
  6. if($iHits == $iMax) {
  7. $sql = 'UPDATE hits SET tijd = '.$iNT.' WHERE ip = "'.$sIP.'"';
  8. mysql_query($sql); // natuurlijk voer je deze query alleen uit als je zeker weet dat dit IP in de database staat!
  9. }
Offline az0w - 30/07/2009 22:47
Avatar van az0w Nieuw lid Bedankt Arie2Zero,

Maar ik weet niet of je dit zo hebt, ik wil dat er maar 1x per ip op een een track beluisterd kan worden. Dus zonder tijden, bv na 1 uur weer een +1 beluisterd puntje krijgt, nee. Gewoon 1x per track 1x beluisterd, totdat ik het reset in de mysql.

Maar ik ga hem toch testen bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.249s