Počítadlo

Programovacie jazyky, rady, poradňa...
vajda65
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1250
Registrovaný: 22 feb 2005, 16:36
Bydlisko: hojko.com
Kontaktovať používateľa:

Počítadlo

Príspevok od používateľa vajda65 »

Ahojte mám na stránke takéto počítadlo prístupov.

Kód: Vybrať všetko

<?php

  $counter_query = tep_db_query("select startdate, counter from " . TABLE_COUNTER);

  if (!tep_db_num_rows($counter_query)) {
    $date_now = date('Ymd');
    tep_db_query("insert into " . TABLE_COUNTER . " (startdate, counter) values ('" . $date_now . "', '1')");
    $counter_startdate = $date_now;
    $counter_now = 1;
  } else {
    $counter = tep_db_fetch_array($counter_query);
    $counter_startdate = $counter['startdate'];
    $counter_now = ($counter['counter'] + 1);
    tep_db_query("update " . TABLE_COUNTER . " set counter = '" . $counter_now . "'");
  }

  $counter_startdate_formatted = strftime(DATE_FORMAT_LONG, mktime(0, 0, 0, substr($counter_startdate, 4, 2), substr($counter_startdate, -2), substr($counter_startdate, 0, 4)));
?>
Problém je ale v tom, že to počíta každú aktualizáciu a každé kliknutie na stránku, teda každý prístup do databázy.
Nedá sa to nejak spraviť aby počítalo iba unikátny prístup IP, nie to koľkokrát tá jedná IP-čka klikne na jednotlivé stránky.
Nechcem tam počítadlo z iného servru, najlepšie by bolo upraviť toto php-čko.

Dík
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

Príspevok od používateľa etel »

Kód: Vybrať všetko

$ip = $_SERVER['REMOTE_ADDR'];
	$vykonaj="SELECT id, counter FROM pocitadlo [color=olive]where startdate=<".time()." and ip = '".$ip."'[/color]";
		mysql_num_rows($vykonaj);
	
	if (!tep_db_num_rows($counter_query)) {
    	$date_now = date('Ymd');
    	tep_db_query("insert into " . TABLE_COUNTER . " (startdate, counter) values ('" . $date_now . "', '1')");
    	$counter_startdate = $date_now;
   		$counter_now = 1;
 	 } else {
    	$counter = tep_db_fetch_array($counter_query);
    	$counter_startdate = $counter['startdate'];
    	$counter_now = ($counter['counter'] + 1);
    	tep_db_query("update " . TABLE_COUNTER . " set counter = '" . $counter_now . "'");
 	 }
zelenou je to podstatne .... upravis si tabulku aby sa tam zmestili aj ipcky ... potom vyberes z db riadk kde cas poslednej upravy je mensi ako aktualny a ip adresa sa zhoduje s uzivatelovou ... ak ti taky riadok najde tak upravy counter + 1 alebo vlozi novy zaznam ....
vajda65
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1250
Registrovaný: 22 feb 2005, 16:36
Bydlisko: hojko.com
Kontaktovať používateľa:

Príspevok od používateľa vajda65 »

nie som v php vôbec zbehlý, ako sa do databázy pridá riadok na kontrolu IP?
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

Príspevok od používateľa etel »

ok ... tak ak chceš tak ti napišem komplet php skript .... ??
vajda65
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1250
Registrovaný: 22 feb 2005, 16:36
Bydlisko: hojko.com
Kontaktovať používateľa:

Príspevok od používateľa vajda65 »

bol by som ti veľmi vďačný!!!!!!!!!!
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

ja by som pridal odkaz na free pocitadlo. netreba vymyslat uz vymyslene 8).
naklikas a vygenerovany kod si pridas do stranky.
http://www.pocitadlo.sk/
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

tuti napísal:ja by som pridal odkaz na free pocitadlo. netreba vymyslat uz vymyslene 8).
naklikas a vygenerovany kod si pridas do stranky.
http://www.pocitadlo.sk/
to pocitadlo nie je dobre, vsak reaguje na kazdy klik (refresh).
vajda65
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1250
Registrovaný: 22 feb 2005, 16:36
Bydlisko: hojko.com
Kontaktovať používateľa:

Príspevok od používateľa vajda65 »

také už mám, to nechcem.
Chcem aby práve nereagovalo na každý refresh.
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

vajda65 napísal:také už mám, to nechcem.
Chcem aby práve nereagovalo na každý refresh.
a toplist pocitadlo ti nestaci?? ono nerata kazdy refresh .. toho isteho uzivatela znova zarata az po 30min necinnosti myslim
vajda65
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1250
Registrovaný: 22 feb 2005, 16:36
Bydlisko: hojko.com
Kontaktovať používateľa:

Príspevok od používateľa vajda65 »

na také komplexné štatistiky tam mám naj.sk to je skôr pre moju potrebu
ale mám tam aj dole na lište dátum a počet prístupov od spustenia stránky a tam by som chcel aby boli iba čisto prístupy zobrazené, a to tak ako píšeš že by napr. jedna ip sa počítala iba každých 30 minút.
Hádam som to vysvetlil čo chcem.
miki690
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1255
Registrovaný: 07 okt 2005, 22:07
Bydlisko: KE
Kontaktovať používateľa:

Príspevok od používateľa miki690 »

tuti napísal:ja by som pridal odkaz na free pocitadlo. netreba vymyslat uz vymyslene 8).
naklikas a vygenerovany kod si pridas do stranky.
http://www.pocitadlo.sk/
tha pozri sa ak chce naprogramovat vlasne pocitadlo tak to je pre neho len dobre , aspon si zlepsi zrucnost v programovani ... ved ked sa ucis programovat tak zo zaciatku stale vymyslas uz vymyslene :wink:
tomPD
Star
Star
Používateľov profilový obrázok
Príspevky: 679
Registrovaný: 17 okt 2005, 14:41
Bydlisko: Senec
Kontaktovať používateľa:

Príspevok od používateľa tomPD »

IgiPoP napísal:to pocitadlo nie je dobre, vsak reaguje na kazdy klik (refresh).
To nie je pravda da sa to tam nastavit aby ti ratalo iba pristupi podla IP-ciek
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

tomPD napísal:To nie je pravda da sa to tam nastavit aby ti ratalo iba pristupi podla IP-ciek
hej presne tak. a este su k tomu aj ine statistiky ako napr. rozlisenie a system na ktorom boli tvoje stranky pozerane, z akej stranky bol pristup na tvoju stranku ai
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

tomPD napísal:To nie je pravda da sa to tam nastavit aby ti ratalo iba pristupi podla IP-ciek
vychadzam z pocitadla, ktore je priamo umiestnene na www.pocitadlo.sk. to teda nie je bohvie aka reklama, :wink:
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

IgiPoP napísal:vychadzam z pocitadla, ktore je priamo umiestnene na www.pocitadlo.sk. to teda nie je bohvie aka reklama, :wink:
myslim ze smerodajne je pocet umiestnenych pocitadiel na strankach co bolo ked som to pozeral vyse 2500 a nie pocet navstivenia tej stranky lebo si statistiky od pocitadla nepozeras kazdy den a ked chces vediet ake je zrovna cislo na pocitadle tak sa kuknes na svoju stranku. a co sa tyka designu tak ten si tam mozes urobit aky len chces. od fontu cez pocet cifier az po farby pozadia a cislic. :wink:
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

tuti napísal:myslim ze smerodajne je pocet umiestnenych pocitadiel na strankach co bolo ked som to pozeral vyse 2500 a nie pocet navstivenia tej stranky lebo si statistiky od pocitadla nepozeras kazdy den a ked chces vediet ake je zrovna cislo na pocitadle tak sa kuknes na svoju stranku. a co sa tyka designu tak ten si tam mozes urobit aky len chces. od fontu cez pocet cifier az po farby pozadia a cislic. :wink:
vsak mne je jedno, ja si viem pocitadlo spravit aj sam a bez akychkolvek problemov aj vlastnu statistiku a urcite by som ju nerobil sposobom ako pocitadlo.sk prostrednictom webalizera. ved je to jednoduche naistalovat app na server, trocha dokonfigurovat, nahodit do crona a predavat to ako sluzbu ci uz financne alebo za cenu navstevnosti.

//edit: este na margo jedinecnosti pristupu, podla IP adries to nie je najstastnejsie riesenie, pretoze strasne vela ludi sedi za zdielanym pristupom (proxy) a teda na priklade nejakej velkej firmy, staci aby si jeden z pracovnikov klikol na stranku a ostatnych pracovnikov uz pocitadlo nebude pocitat ako nove pristupy pricom su jedinecne. tak to len tak na zamyslenie.
etel
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 232
Registrovaný: 16 okt 2006, 10:37
Kontaktovať používateľa:

Príspevok od používateľa etel »

ok tak ked nie podla IP tak ako ??? ja veim o dvoch rieseniach .... cookies - to je nanic , IP - to je zase podla teba nanic .... :? :?
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

etel napísal:ok tak ked nie podla IP tak ako ??? ja veim o dvoch rieseniach .... cookies - to je nanic , IP - to je zase podla teba nanic .... :? :?
poznam vhodne riesenie, samozrejme ako ine riesenia nie je 100%, ale je najblizsie k dokonalosti. samozrejme, bol by som sprosty, keby som povedal ako.
ked sa zavedie IPv6 standard, tak sa budu robit statistiky jedna radost.
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

etel napísal:ok tak ked nie podla IP tak ako ???
No ja som to vyriesil takto:

Na uplne prvu stranku (index.php) som dal skript na pripocitanie cisla poctu pristupov, ktore bolo ulozene v databaze. Hned, kdes sa mi toto cislo zvacsilo o 1, tak uzivatela automaticky presmerovalo na inu stranku (napr. uvod.php).

Jedna mala (alebo aj dost velka nevyhoda): Vela uzivatelov vyuziva historiu navtivenych stranok, cize ak napisu moju stranku (a davnejsie ju uz navstivili), tak sa im zobrazi ponuka ist nie na stranku index.php, ale uz na stranku uvod.php. Ale da sa aj to vyriesit...
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

ppt napísal:No ja som to vyriesil takto:

Na uplne prvu stranku (index.php) som dal skript na pripocitanie cisla poctu pristupov, ktore bolo ulozene v databaze. Hned, kdes sa mi toto cislo zvacsilo o 1, tak uzivatela automaticky presmerovalo na inu stranku (napr. uvod.php).

Jedna mala (alebo aj dost velka nevyhoda): Vela uzivatelov vyuziva historiu navtivenych stranok, cize ak napisu moju stranku (a davnejsie ju uz navstivili), tak sa im zobrazi ponuka ist nie na stranku index.php, ale uz na stranku uvod.php. Ale da sa aj to vyriesit...
nemusis presmerovavat z index.php na uvod.php, staci ked v indexe budes zistovat ci referer nie je z tej istej domeny ako je tvoja stranka. to znamena, ked niekto pride na tvoju stranku, tak prvy krat zistis, ze referer je prazdny, resp. sa nerovna tvojej domene a zapises do DB, ak si uz klikne na nejaku podstranku, tak zistis, ze referer je rovnaky ako tvoja domena a nezapises. fungovat to bude aj ked budes mat link na svoju stranku umiestnenu na nejakej inej stranke a uzivatel si na nu klikne, aby sa dostal na tvoju a ty zistis, ze referer sa nerovna tvojej domene, tak znova zapises do DB.
Napísať odpoveď