DarkGhost küldött be egy leírást arról, hogy hogyan készítsünk olyan számlálót, amely a "visszatérő látogatókat" nem számolja...

A szkript (counter4.zip) valójában csak egy függvény, amely meghívásákor egy file-ban megnézi a számláló értékét és visszaadja azt... Amennyiben nincs beállítva süti, akkor növeli eggyel a visszaadás előtt, és létrehoz egy sütit, így a következő oldallehíváskor nem fog számolgatni.

A függvény 3 paramétert fogad el, de mindegyiknek van egy alapértéke:

paraméter mit állít be alapérték
filename Annak a filenak a nevét adja meg, amiben a számláló értéke van tárolva counter.txt
cookiename Annak a sütinek a nevét adja meg, amelyben tárolva van, hogy volt-e már számlálás... CounterCookie
timeout A két számolás közti idő órában... 1

Használata

Mint mondtam a program sütiket használ az adatok tárolására. A HTTP specifikáció szerint a sütinek a fejlécben kell megérkezniük (tehát a valós file kiküldése előtt). A használata ezzel egy kicsit bonyolultabb, mint egy függvény-hívás, de azért nem kell tőle megijedni, nem bánt ;)

Annak a file-nak, amiben szeretnénk lehívásokat számolni az elejében (eleje = első sor) írjuk a következőket:

<?PHP
include 'function_counter.php';
$counter = Counter()
?>

(Amennyiben a Counter függvényt paraméterezni szeretnénk, természetesen megtehetjük... pl.:

Counter('counter1.txt', , 12);

Így csak 12 óránként menti el az adatokat és egy counter1.txt-be)

Ezután ahol szeretnénk kiíratni a számlálónk értékét írjuk ezt:

<?PHP print $counter; ?>

Pl.:

Eddig összesen <?PHP print $counter; ?> látogatónk volt...

Tipp

Természetesen így egy file-al több számlálót is tudunk működtetni...

Például ha minden lapunkról külön statisztikát szeretnénk, akkor mindegyiknek másik filet megadva pontos adatokat kaphatunk.

Például:

<?PHP include 'function_counter.php';
$counter = Counter(basename(__FILE__));
?>

A leíráshoz tartozó fájl letölthető innen: counter4.zip.

Szerző: DarkGhost (darkghost.atw.hu)

Harder

Harder

Profil

Korábbi hozzászólások (1)

A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.

  1. Mia

    Jujj működik^^ köszönet érte:) Viszont azt az órás dolgot nem egészen értem... igaz hogy nem minden lapfrissítésnél, de egy nap többször is számol egy embert (pl engem...). Hogy tudnám azt megcsinálni, hogy 1 nap csak egyszer számoljon, max 2x?

Van hozzáfűznivalód? Írj nekem közvetlenül.

Kapcsolat