login  Naam:   Wachtwoord: 
Registreer je!
 Forum

stats wedstrijd

Offline webstab - 22/04/2005 21:04
Avatar van webstabPHP ver gevorderde Waarschijnlijk herrineren jullie jullie nog waarschijn de statistieken wedstrijd. Waar dit script als winnaar uit de bus is gekomen. Ik had eens geprobeerd om een statistieken-script te maken en om mijn resultaten ongeveer te controleren gebruik ik dit script. Maar kan het zijn dat daar een paar fouten instaan.(geen syntaxis-errors)
Regel 183-195 van log.inc.php
  1. $my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."'") or log::__error(mysql_error());
  2. $nu_che = mysql_num_rows($my_che);
  3. if($nu_che >= 1){
  4. $as_che = mysql_fetch_assoc($my_che);
  5. mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."'") or log::__error(mysql_error());
  6. }
  7. else{
  8. INSERT INTO log
  9. (os, time, page, ip, provider, land, day, month, year, browser)
  10. VALUES
  11. ('".$os."', '".time()."', '".$page."', '".$ip."', '".$provider."', '".$van."', '".date('d')."', '".date('m')."', '".date('y')."', '".$browser."')") or log::__error(mysql_error());
  12. }
Wanneer er gebruiker geen dynamisch ip heeft. Dan blijft die steeds één rij behouden,en geen nieuwe ingevoerd.
  1. $my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."'")
Verandert naar:
  1. $my_che = mysql_query("SELECT hits FROM log WHERE ip='".$ip."' AND day='".date('d')."' AND month='".date('m')."' AND year='".date('y')."'")
en dan ook een paar regels verder:
  1. mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."'")
verandert in:
  1. mysql_query("UPDATE log SET os='".$os."', hits='".($as_che['hits']+1)."', time='".time()."', page='".$page."', provider='".$provider."', day='".date('d')."', month='".date('m')."', year='".date('y')."', browser='".$browser."', land='".$van."' WHERE ip='".$ip."' AND day='".date('d')."' AND month='".date('m')."' AND year='".date('y')."'")


Is deze wijziging correct? Of was het oorspronkelijke correct?

2 antwoorden

Gesponsorde links
Offline xSc - 22/04/2005 21:40
Avatar van xSc Onbekend Wij praten blijkbaar tegen de muur ofzo?

Hoe vaak hebben we het nu gezegd? 50x, 100x, 500x, 1000x, of nog meer?

1. Doe aan error handling.
2. Houd var's buiten quotes!
3. Wat MySQL zelf kan ook zelf laten doen. Je gebruikt in een query niet de time(), maar de MySQL-functie NOW().
Offline webstab - 23/04/2005 08:35
Avatar van webstab PHP ver gevorderde error handling
=>staat er bij,maar dat heeft hier niets van belang
Houd var's buiten quotes!
=>het is gekopierd van hier tussen de script
Wat MySQL zelf kan ook zelf laten doen. Je gebruikt in een query niet de time(), maar de MySQL-functie NOW()
=>sorry,maar het stond erzo.

Maar ik vroeg eigelijk of mijn redenering correct is...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.325s