PHP-Script.hu
Kiemelt hirdetés:
2018. június 22. 20:31 péntek, ma Paulina névnap van


grafika


Videóbázis


Kategória: PHP
Egyedi látogatók számlálása PHP-val
2011.06.19. 11:52

Sokan vagyunk úgy, hogy szeretnénk tudni, mennyi látogatója is van az oldalunknak. Sok fajta script/leírás található a neten, de én is leírok egy fajtát.


Sokunkban megfordult már biztosan az, hogy vajon mennyi látogatónk van. Szeretnénk tudni, hogy mikor vannak a legtöbben fen, miket olvasnak, stb. Most ebben a leírásban megírom nektek azt, hogy hogyan is lehetne számolni a felhasználókat úgy, hogy ne a lap letöltéseket számolja, hanem az egyedi felhasználókat (ez részben igaz, ugyanis ha dinamikus ip van, akkor újra kezdi számolni, amikor a felhasználó újra csatlakozik az internetre).

Először is hozzunk létre egy adatbázist, amibe felvesszük majd az adatokat.

1
2
3
4
5
CREATE TABLE `latogato` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ip` VARCHAR( 15 ) NOT NULL ,
`datum` DATETIME NOT NULL
)

Egy latogato névre hallgató táblát hoztunk létre, amiben van egy id - azonosító, egy ip - ip cím és egy datum, ami a pontos dátumot fogja majd tárolni.

Első lépés a php-ban az az, hogy nézze meg a program, hogy mi az ip címünk, majd egyeztesse össze az adatbázissal, és ha van találat, akkor ne vegye fel újra az adatbázisba, ellenbe ha nincs bent, akkor szúrja be.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
//ADATBÁZISHOZ//
define('MYSQL_HOST', "localhost");
define('MYSQL_USER', "felhasználóinév");
define('MYSQL_PASS', "jelszó");
define('MYSQL_BASE', "adatbázis neve");
 
//IP lekérdezése és tárolása változóban//
$IP = $_SERVER["REMOTE_ADDR"];
 
//CSATLAKOZÁS AZ ADATBÁZISHOZ ÉS LEKÉRDEZÉS, HOGY VAN-e ILYEN IP FENT//
$dbc = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die ("HIBA, NEM TUDOK CSATLAKOZNI!");
mysql_select_db(MYSQL_BASE, $dbc) or die ("NEM LÉTEZŐ ADATBÁZIS!");
 
$query = "SELECT ip FROM latogato WHERE ip = '$IP'";
$result = mysql_query($query, $dbc);
$latogato = mysql_num_rows($result);
 
//ELLENŐRZÉS, hogy feltölthető-e az új ip cím//
if ($latogato == "0") {
 $query2 = "INSERT INTO latogato (ip, datum) VALUES ('$IP',NOW()");
 mysql_query($query2, $dbc);
}
mysql_close($dbc);
?>

Ez már elintézi a dolgát, ezek után már csak nekünk kéne tudni, hogy mennyien látogatnak meg minket. Ehhez egy admin részt csinálunk, amit csak mi érhetünk majd el.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
 
//ADATBÁZISHOZ//
define('MYSQL_HOST', "localhost");
define('MYSQL_USER', "felhasználóinév");
define('MYSQL_PASS', "jelszó");
define('MYSQL_BASE', "adatbázis neve");
 
//IP lekérdezése és tárolása változóban//
$IP = $_SERVER["REMOTE_ADDR"];
 
//CSATLAKOZÁS AZ ADATBÁZISHOZ ÉS LEKÉRDEZÉS, HOGY VAN-e ILYEN IP FENT//
$dbc = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die ("HIBA, NEM TUDOK CSATLAKOZNI!");
mysql_select_db(MYSQL_BASE, $dbc) or die ("NEM LÉTEZŐ ADATBÁZIS!");
 
?>
<table>
 <tr>
 <td><b>Sorszám</b></td>
 <td><b>Ip</b></td>
 <td>Dátum</td>
 </tr>
</table>
<?php
 
$query = "SELECT * FROM latogato";
$result = mysql_query($query, $dbc);
while($row = mysql_fetch_array($result)) {
 echo "<table><tr><td><center>".$row["id"]."</center></td>
<td><center>".$row["ip"]."</center></td>
<td><center>".$row["datum"]."</center></td></tr></table>";
}
 
$query2 = "SELECT * FROM latogato";
$result2 = mysql_query($query2, $dbc);
$total = mysql_num_rows($result2);
 
echo "Összes látogató eddig: ".$total;
?>

Ezzel az oldallal, megtudjuk tekinteni a látogatókat egyesével (ip alapján) és az alján az összes látogatót látjuk, akik megtekintették az oldalt, mióta müködik ez a script. :)

Remélem ezzel segítettem nektek, következő részben befogom mutatni, hogy hogyan tudjuk ezzel a scripttel kiiratni, hogy kik az online felhasználók. :)


 Szerző: useriNferNaL Hozzászólások(2) Hozzászólások Megosztás az iWiW-en Megosztás az Facebook-on Megosztás a Google Reader-ben Megosztás az Twitter-en 

Listázás:  Idő szerint:
Webprogramozás arr PHP info Egyedi látogatók számlálása PHP-val
(#2) xtech 2011.11.03. 13:33

xtech
xtech
Kezdő

A Tutorialt megtalálhatod itt:
http://php-script.hu/tutorial/bovebben/online_felhasznalok


webdeveloper, sysadmin
(#1) Silver 2011.11.03. 13:13

Silver
Silver
Kezdő

Helló Infernal.. A következő részt hol találhatom meg? Köszi szépen előre is.. kep

Listázás:  Idő szerint:


© 2006-2018 PHP-Script.hu, Minden jog fenntartva!
Design: Rácz Gergely, Oldalmotor: Rácz Gergely
Impresszum - Oldaltörténet - Oldalszabályzat