EtusivuLehtiPelihalliHyötyMBinternetAjankohtaistaKeskustelu
 
 
Avain: Salasana:
  Luo avain
HintaseurantaTuoteseurantaWebmailNettijatkotPalauteTilaa lehti  
Php-ohjelmointi:

Tee oma kävijälaskuri

Hyvä kävijälaskuri kertoo muutakin kuin kuinka monta selailijaa kotisivuillasi on käynyt. Näet mistä kävijät tulevat ja millä selaimella he liikkuvat. Syyskuun numerossa (MB 9/2004) ohjelmoitiin oma kävijälaskuri halutuilla ominaisuuksilla. Tältä sivulta löydät ohjeet, joilla voit terästää laskurisi ulkonäköä ja kehittää sitä eteenpäin.

Laskurin php-lähdekoodi

Kopioi kävijälaskurin php-kielinen lähdekoodi:

Lehdessä ollut Listaus 3 sisälsi virheen valiaikainen-taulukon käsittelyssä. Tässä nettijatkossa oleva Listaus 3 on korjattu versio.

Muokkaa laskurin ulkoasua

Peruslaskurin ulkoasua voidaan piristää lisäämällä tulostukseen väriä ja grafiikkaa. Helpoimmin tämä tapahtuu lisäämällä ohjelman while-silmukkaan komentoja, jotka muotoilevat tietojen tulostamista, kuten esimerkkilistauksessa 4 on tehty:

Listaus 4: Laskurin ulkoasun muuttaminen

$kaikki_refererit=(array_count_values($referer));
$kerroin=2;
while (list($RefererOsoite, $maara) = each($kaikki_refererit)) {
   $prosentti=(($maara/$kokonaismaara) *100);
   $prosentti=round($prosentti,2);
   $leveys=$prosentti*$kerroin;
   $leveys=round($leveys);
   echo ("
   <tr bgcolor=\"$taulukko_taustavari\">
     <td>
       <a href=\"$RefererOsoite\"
       target=\"_blank\">$RefererOsoite</a></td>
     <td>
       <img src=\"./skin1/alku.gif\"><img src=\"./skin1/vali.gif\"
       width=\"$leveys\" height=\"11\"><img src=\"./skin1/loppu.gif\">
     </td>
     <td>= $maara - $prosentti %\n</td>
   </tr>
    ");
}

Jokaista tallennettua tietoa kohden luodaan yksi taulukkorivi (<tr>) ja tulostetaan sille tarvittavat tiedot. Lisäksi tulostetaan graafinen kuvaaja, tässä tapauksessa vaakapalkki, jonka leveys määräytyy tulostettavan tiedon esiintymistiheydestä. Jos referer-osoite on esimerkiksi ollut 50 prosentissa tapauksista sama, tulostetaan vaakapalkki, jonka leveys on 50 x 2 = 100 kuvapistettä. Kerroin-muuttuja on mukana, jotta kuvaajia voidaan suurentaa tai pienentää helposti.

Huomaathan, että esimerkkilistaus 4 ei sellaisenaan toimi, vaan luuranko vaatii ympärilleen hieman lihaa ja nahkaa. Kopioitavat nahkapaketit sisältävät sekä php-lähdekoodit että grafiikat.



Kun purat zip-paketin, saat koneellesi uuden nayta_kavijat.php-tiedoston ja hakemiston skin1, skin2, tai skin3 riippuen siitä, minkä paketin kopioit. Jos olet toteuttanut laskurin lehdessä kerrotulla tavalla, voit kopioida tiedostot suoraan kotihakemistoosi. Muista säilyttää hakemistorakenne! Mikäli olet muuttanut laskurisi lokitiedoston nimeä, muuta oman tiedostosi nimi koodiin rivillä 10, kohdassa:

$arrayTiedosto = file("laskuri_loki.txt");  //Luetaan lokitiedosto muistiin

Koodia tutkimalla saat selville, miten kuvaajat on rakennettu. Koodi on yritetty kirjoittaa mahdollisimman selkeäksi ja vaikeampia ratkaisuja on vältetty. Osaavat ohjelmoijat voivat parantaa koodia. Mikäli ohjelmointitaitosi eivät ole hyvät, mutta haluat kokeilla luoda omia kuvaajia, voit muuttaa helposti taulukon asetuksia riviltä 30 eteenpäin muuttamalla kohtaa:

//Muuttujat
$taulukko_vari="#0099FF";
$taulukko_taustavari="#FFFFFF";
$border=0;
$cellspacing=1;
$cellpadding=5;

Muuttamalla arvoja saat taulukot muuttamaan muotoaan. Hakemistosta skin1, skin2 tai skin3 löydät kuvat, joita muuttamalla saat kuvaajien ilmeen muutettua. Lisäksi löydät hakemistosta tyylitiedoston, joka määrää tekstien ulkoasun.

Linkkivinkit

Löydät lisää tietoa php-ohjelmoinnista PHP:n omilta sivuilta. Mikäli listauksista löytyy outo komento tai toimintatapa, PHP.netistä löydät siihen lisävalaistusta.

Kuvaajista voidaan tehdä muunkin muotoisia kuin palkkeja. Erilaisten kuvaajien luomiseen löydät valmiita skriptejä seuraavista paikoista:

Mureakuhassa on muutama skripti kuvaajan piirtoa varten. Esimerkiksi:

Jos intoa ja kiinnostusta löytyy, voit kokeilla myös graafisten kuvaajien luomiseen tarkoitettua JGraph-grafiikkaluokkaa PHP:hen.

Laskureita ja ohjeita laskurisi kehittämiseen:

Codewalkers tarjoaa kattavaa kokoelmaa niin laskureita kuin kuvaajiakin.

Ja rankemman luokan laskurit ja logit täältä:

PHP Freaks tarjoaa myös kattavaa skriptikokoelmaa.

Antti Iiskola

Copyright © Sanoma Magazines Finland Oy, MikroBitti 1999-2008 - käyttöehdot