Naplózás

Az alábbi leírásban található tutorial alapján nemsokára Te is naplózhatod az oldaladon, hogy 1-1 laphoz ki, honnan stb.. fért hozzá. A megoldás folyamán szükség lesz a MySQL-re is.

Lássuk is az adatbázisszerkezetet:

Mysql

CREATE TABLE `naplo` (
`azon` int(11) NOT NULL auto_increment,
`oldalcim` varchar(50) default NULL,
`bongeszo` text,
`ip` text,
`datum_ido` datetime default NULL,
PRIMARY KEY (`azon`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

Most jöjjön az a kód, amelyet minden naplózni kívánt oldalra be kell include-olnunk és meghívni a logadatok(oldalneve) függvényt.

kód

<?php
#Az ossz.php az összeköttetést biztosító php.
include(‘ossz.php’);
function logadatok($oldalcim) {
mysql_query(‘insert into naplo values(\’\’,\” . $oldalcim . ‘\’,\” . $_SERVER[‘HTTP_USER_AGENT’]
. ‘\’,\” . $_SERVER[‘REMOTE_ADDR’] . ‘\’,now())’);
}
?>

Nevezzük el hozzaferesek.php-nak.
Amint látjátok, csak annyit csinál, hogy adatbázisba menti
az adatokat, az oldal címét, böngészőt, ipcímet és egy időpontot.
Egy példa a használatra:

kód

#Csak egy paramétert kell megadni, az oldal címét, ez bármi lehet.
<?php include(‘hozzaferesek.php’);
logadatok(oldal1);
?>
<html>
<head>
<title>Oldal1</title>
</head>
<body>
Oldal1, ezt az oldalt logolni fogjuk.
</body>
</html>

és akkor, az adatokat feldolgozó és megjelenítő kód:

kód

<?php
include (‘ossz.php’);
# Ezzel a fügvénnyel jelenítjük meg hogy összesen hányan töltötték le a logolt oldalakat.
function letoltszam() {
$szam_sql = mysql_query(‘select count(oldalcim) as szam from naplo’) or die(mysql_error());
while ($szam_lekerd = mysql_fetch_array($szam_sql)) {
$szam = $szam_lekerd [‘szam’];
echo (‘<strong>Megfigyelt letöltések száma: </strong>’ . $szam);
}
}

#Kiolvassuk az adtabázisból, hogy milyen böngészőt használt a látogató. és hogy az adott böngészővel hány hozzáférés történt.
function bongeszo() {
$bongeszo_sql = mysql_query(‘select distinct bongeszo,
count(bongeszo) as bgszam from naplo group by bongeszo
order by bgszam desc’) or die(mysql_error());

while ($bg_lekerd = mysql_fetch_array($bongeszo_sql)) {
$bongeszo = $bg_lekerd[‘bongeszo’];
$bongeszo_szam = $bg_lekerd[‘bgszam’];

echo ‘<li>’ . $bongeszo . ‘
<ul><li><em>Letöltések száma: ‘ . $bongeszo_szam . ‘</em></ul>’;
}
}

#Kiíratjuk a logolt oldalak nevét és hogy melyiket hányszor töltötték le.
function oldalcim() {
$oldalcim_sql = mysql_query(‘select distinct oldalcim,
count(oldalcim) as oldalszam from naplo group by oldalcim order by oldalszam desc’)
or die(mysql_error());

while ($oc_lekerd = mysql_fetch_array($oldalcim_sql)) {
$oldalcim = $oc_lekerd[‘oldalcim’];
$oldalszam = $oc_lekerd[‘oldalszam’];

echo ‘<ul><li>’ . $oldalcim . ‘
<ul>
<li><em>Letöltések száma: ‘ . $oldalszam . ‘</em>
</ul></ul>’;
}
}

#Kiolvassuk az összes ipcímet, és a hozzáférés időpontját, meg a letöltött oldal nevét. Majd szépen kiíratjuk.
function ip() {
$ip_sql = mysql_query(‘select ip, oldalcim, date_format(datum_ido, \’%Y.%c.%e. %T\’)
as ido from naplo order by ido desc’) or die(mysql_error());

while ($ip_lekerd = mysql_fetch_array($ip_sql)) {
$ip = $ip_lekerd[‘ip’];
$ido = $ip_lekerd[‘ido’];
$oldalcim = $ip_lekerd[‘oldalcim’];

echo ‘<li>’ . $ip . ‘–‘ . $ido . ‘–‘ . $oldalcim . ‘</li>’;
}
}

#Ahol meg akarjuk jeleníteni a naplót, ott csak ezt a függvényt kell meghívnunk.
function naplo() {
print ‘<strong>Napló</strong>
<p><p><p><p>’;
letoltszam();
print ‘<p><p><strong>Böngészők:</strong>’;
print ‘<p><p>’; bongeszo();
print ‘<p><p><strong>Megfigyelt oldalak:</strong><p>’;
oldalcim();
print ‘<p><p><strong>Megfigyelt ipcímek:</strong><p><p>’;
ip();
}
?>

Nevezzük el logokkiir.php-nak.
A függvényhívásra egy példa:

kód

<?php
include(’logokkiir.php’);
naplo();
?>

Itt kitudjátok próbálni.
Nagyjából ennyi, remélem érthető voltam, használjátok egészséggel.

Rendo

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét