Počítadlo přístupů

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Počítadlo přístupů

Příspěvek od arxeiss »

Udělal jsem si počítadlo přístupů, a chtěl bych se zeptat jestli to nemá nějaké mouchy. Zkoušel jsem to a nikde jsem nic nenašel. Kdyby někdo měl nějaké jednodušší řešení, sem s ním.

Kód: Vybrat vše

$ip=$_SERVER['REMOTE_ADDR'];
$date=date("Y-m-d",time());
$dotaz="SELECT COUNT(*) FROM pristupy WHERE ip='$ip' and datum>'$date';";
$result=mysql_query($dotaz) or die (header("Location: errordb.php"));
$pristupden = mysql_result($result,0); 
if($pristupden==0){
  $dotaz="INSERT INTO pristupy(ip,datum) VALUES('$ip',now());";
  mysql_query($dotaz) or die (header("Location: errordb.php"));
}
$dotaz="SELECT * FROM pristupy";
$myquery=mysql_query($dotaz) or die (header("Location: errordb.php"));
$pristupu=mysql_num_rows($myquery) or die (header("Location: errordb.php"));
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: Počítadlo přístupů

Příspěvek od OndraSter »

$dotaz="SELECT COUNT(*) FROM pristupy WHERE ip='$ip' and datum>'$date';";

jsi si jistý tím datum>'$date'?

nechápal jsem to tvoje, tak to ber s rezervou, nechce se mi to mazat, ještě se to může hodit:
Nevím, jestli jen na to špatně koukám, ale nějak se mi to nezdá, hlavně pokud $date je aktuální datum - odečti od něj třeba 2hod (nebo jaký chceš timeout přístupu na IP):

$date=date("Y-m-d",time());
->
$date=date("Y-m-d",time() - 7200);
(2 hod)


Nebo jak to vlastně máš? V DB máš i čas a tudíž to počítáš od půlnoci? Nemělo by tam být spíše >=? Takhle to kouká do budoucnosti, jestli to dobře chápu, příjde mi to mírně zmateně napsané.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Počítadlo přístupů

Příspěvek od arxeiss »

Tak chci počítat 1 přístup denně, a pokud je v db někde čas větší než aktuální datum tak to vybere. S tím >= jsi měl pravdu, prakticky je sice nemožné aby tu stránku navštíví 2x v 1s, pokud by to nedal někde do cyklu, atd... No ale dodal jsem to tam.
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: Počítadlo přístupů

Příspěvek od OndraSter »

No spíš mi šlo o to, že tam počítáš datum a nikoli datum a čas, leda jestli to máš v DB tak to pak jo.

Tzn v DB to má vybrat záznamy kde:
datum>25.6.2008

což není žádný (nikdo to v budoucnosti nenavštívil) a tudíž to započítá - pokud v DB však máš i časy tak to pak samozřejmě funguje, ale to se už těžko z kódu odhaduje.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Počítadlo přístupů

Příspěvek od arxeiss »

Já mám v db ty sloupce datetime takže pokud to není žádný jak píšeš, tak to tam vloží aktuální datum, tj i s časem, a pak to kontroluje jestli je už tam od půlnoci byl
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: Počítadlo přístupů

Příspěvek od OndraSter »

Aha, to že to je datetime se z kódu už vyčíst nedalo, proto mi to bylo divné, že to funguje, ač by teoreticky nemělo. Potom OK, mělo by to být OK.
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Počítadlo přístupů

Příspěvek od arxeiss »

jj sorry, mi to nedošlo že by tam teoreticky mohlo být jenom datum. Jsem půodně tam chtěl dát jenom datum, ale pak jsem si říkal že bude lepší když tam budu mít i čas, pak se dají dělat i statistiky.
Jěště jednou díky
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Odpovědět

Zpět na „Programování a web“