Grafické počítadlo prístupov (pomoc)

Programovacie jazyky, rady, poradňa...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Grafické počítadlo prístupov (pomoc)

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

Tak tam dole je graficke pocitadlo pristupov. Len ma jednu chybu, zapise kazdy pristup na stranku a aj len aktualizovanie. Dalo by sa tam nejako pridat aj to ze z jednej IP adresy by to zaratalo iba jeden krat denne???
Dakujem...

Kód: Vybrať všetko

<? 
Header("Cache-Control: no-cache");                    //zajistí, aby se výsledek skriptu neukládal do vyrovnávací paměti 
if (!File_Exists ("counter.dat")):                    //neexistuje soubor counter.dat ? 
    $fp = FOpen ("counter.dat", "w");                //vytvoří soubor counter.dat 
    FWrite ($fp, "1");                                //zápis do souboru counter.dat 
    FClose ($fp);                                    //zavře soubor counter.dat 
else:                                                //soubor counter.txt existuje 
    $fp = FOpen ("counter.dat", "r+");                //otevře soubor counter.dat pro čtení a zapis 
    $data = FRead ($fp, FileSize("counter.dat")) +1;//přečte data ze souboru a uloží do proměnné data1 
    Rewind($fp); 
    FWrite ($fp, $data);                            //zápis do souboru counter.dat 
    FClose ($fp);                                    //zavře soubor counter.dat 
endif; 

$fp = FOpen ("counter.dat", "r");                    //otevře soubor counter.dat pro čtení 
$obsah = FRead ($fp, 10);                            //do proměnné data uloží jeho obsah 
FClose ($fp); 

$size = StrLen($obsah);                                //zjistí délku řetězce (čísla) 

for ($x=0;$x<=$size-1;$x++): 
$a = SubStr($obsah, $x, 1); 
echo "<img src=$a.gif border=0>"; 
endfor; 
?> 
DIKKK
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

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

ukladaj si niekam bud ip adresy alebo pouzivaj cookies platne 1 den...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

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

No a nemohol by si to napisat v php???? Lebo ja sa tomu php moc nerozumiem... Diq :oops:

Prosim poradte s tym pocitadlom...
sanyika
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 364
Registrovaný: 11 apr 2006, 15:35
Bydlisko: Treti smetiak vpravo....d

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

Urcite by sa dalo...len je trocha zlozite....zatial to ani mne nefici.....ale sprav si to radsej v MySQL....je to prahladnejsie a lahsie.... :)
Lukkas
Star
Star
Používateľov profilový obrázok
Príspevky: 545
Registrovaný: 09 okt 2005, 15:45
Bydlisko: Puchov/Bratislava
Kontaktovať používateľa:

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

jasne je to najlepsie s MYSQL ja nieco skusam nakodit ale je mi to aj tak nanic lebo moj webhosting (plateny) nema MYSQL :-( Neviete niake MYSQL servery na ktore sa mozem pripojit zvonku ?
mato.x
Zablokovaný
Zablokovaný
Používateľov profilový obrázok
Príspevky: 274
Registrovaný: 04 dec 2006, 19:39
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa mato.x »

najjednoduchsie to je cez www.blueboard.cz - tam sa zaregistrujes, vytvoris si pocitadlo a nastavis si ho na pristup jednej IP za den a mas to - este si tam nastavis grafiku a nemusis sa piplat s PHP ani s MySQL :wink:
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

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

caesar1987 napísal:ukladaj si niekam bud ip adresy alebo pouzivaj cookies platne 1 den...
To pomocou tej IP sa mi zda ze sa da spravit aj cez PHP alebo to s tym cookies vyzera dobre, to by sa dalo...

//A aj mato.x, to je tiez dobry napad, ale ja to chcem mat teraz vsetko z vlastnych veci a s vašou pomocou... Dikk mato.x aj tvoja vec sa hodila...
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 »

LuKKaS napísal:jasne je to najlepsie s MYSQL ja nieco skusam nakodit ale je mi to aj tak nanic lebo moj webhosting (plateny) nema MYSQL :-( Neviete niake MYSQL servery na ktore sa mozem pripojit zvonku ?
... free je mega super pomale ic.cz ... zatial som ani ja nic podobne nanasiel ... :?
jurko.info
Medium Expert
Medium Expert
Príspevky: 108
Registrovaný: 22 nov 2006, 0:16
Kontaktovať používateľa:

IP

Príspevok od používateľa jurko.info »

Voľakedy som mal podobný problém (to som ešte nepoznal Blueboard) a riešil som to tykýmto primitívnym spôsobom - nemal som vtedy podporu MySql:

Kód: Vybrať všetko

<?php
Header("Cache-Control: no-cache"); // vyrovnávacia pamäť off
$ip = $_SERVER("REMOTE_ADDR"); // zistím IP návštevníka
$ip_adresy = file("adresy.txt"); // zavolám pole s IP adresami

if(in_array($ip,$ip_adresy)) // ak sa v poli IP nachádza
   {
   // nevykoná sa žiadna akcia len sa prečíta počet návštevníkov
   $otvor = FOpen("navstevnost.txt","r");
   $pocet = FRead($otvor,FileSize("navstevnost.txt"));
   FClose ($otvor);
   }
else  // ak sa v poli nenáchádza
   {
   // zaradíme ju do poľa
   $otvor1 = FOpen("adresy.txt","w+");
   FWrite ($otvor1,$ip."\n");
   FClose ($otvor1);
   // a navýšime návštevnosť
   $otvor2 = FOpen("navstevnost.txt","r");
   $pocet = FRead($otvor2,FileSize("navstevnost.txt"));
   FClose ($otvor2);
   $otvor3 = FOpen("navstevnost.txt","w");   
   FWrite ($otvor3,($pocet + 1));
   FClose ($otvor3);
   }

echo "počet návštevníkov: ".$pocet;  // výpis výsledku, resp. v tvojom prípade ten prevod na grafiku ako ho máš hore - pozor na názvy premenných

?>
Ibaže tento skriptík ti počíta unikátne IP stále - od zverejnenia stránky, takže ešte malá oprava, aby to fungovalo napr. každých 24 hodín, čo by bolo najlepšie riešiť cez CRON (ak ho tvoj hosting podporuje), ktorý by spustil skript vymazávajúci o polnoci súbor adresy.txt, Dá sa to ale riešiť aj tak, že do poľa $ip_adresy vložíš na prvú pozíciu napr. dátum dňa, ktorý sa pri každom spustení skriptu kontroluje a ak je zhodný tak skript pokračuje ako hore, ak nie, tak sa skráti súbor adresy.txt na nulovú dĺžku a vloží sa tam spomenutá prvá premenná s novým dátumom. Skús sa s tým pohrať. V spolupráci s MySql by to bolo ale asi lepšie, ja som to zatiaľ neriešil - googli, určite niečo nájdeš. Ja poväčšinou píšem PHP v rámci hesla POKUS-OMYL - ono to raz výjde - čo už mne amatérovi ostáva. :lol: Ono človek má ale taký dobrý pocit, keď sa mu niečo podarí aj keď odborníci v PHP by krútili hlavami. Ty wogo, šak ja už spamujem so sprostosťami.

Inak, kto má dynamickú IP, môže to kľudne obísť, stačí sa mu odhlásiť a prihlásiť do siete internet, ale to je už o niečom inom.[/code]
Napísať odpoveď