Simpatie.ro - matrimoniale
EXTREMESOFT TEAM
Bine ati venit.Pe acest forum gasiti sisteme de operare,tutoriale,hackuri,yahoo hack,muzica,muzica populara,muzica disco,muzica house,filme,filme de groaza,filme de comedie,filme actiune,filme aventura,jocuri,jocuri pc,jocuri xbox,din viata de zi cu zi moda,politica si multe altele.Resusrse pentru SA:MP,Counter-Strike,Metin2. WWW.EXTREMSOFT.3XFORUM.RO WWW.EXTREMSOFT.3XFORUM.RO
Nou pe simpatie:
mimy_glacier
Femeie
24 ani
Prahova
cauta Barbat
26 - 47 ani
EXTREMESOFT TEAMReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
EXTREMESOFT TEAM / Programare /

[PHP] Logarea IP-urilor si sursele vizitatorilor.

Pagini: 1  
#1
Bill
Administrator
Postari: 71
Salutare, in acest tutorial va voi arata cum puteti face un log al vizitatorilor.
Pentru a-l urma aveti nevoie de cunostinte de baza in PHP si MySQL.

Pentru inceput avem nevoie de o baza de date si un tabel.
Se pot face din phpMyAdmin in 2 pasi, manual: Tabel nou, 5 campuri si Continutul acestuia; sau automat prin query-ul de mai jos:


Quote
CREATE TABLE `ip_log` (
`id` INT NOT NULL AUTO_INCREMENT ,
`ip_vizitator` VARCHAR( 15 ) NOT NULL ,
`sursa` TEXT NOT NULL ,
`pagina` TEXT NOT NULL ,
`data_ora` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( `id` ) ) ENGINE = MYISAM


Cream un fisier ip_log.php in care punem:
Quote
<?php
// date autentificare
$mysql_host = "localhost";
$mysql_database = "baza_de_date";
$mysql_user = "user";
$mysql_password = "parola";

// variabile necesare

$ip = $_SERVER['REMOTE_ADDR'];
$sursa = $_SERVER[HTTP_REFERER];
$pagina = $_SERVER[REQUEST_URI];

// conexiunea la baza de date
$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die('Nu ma pot conecta la baza de date.');
mysql_select_db($mysql_database) or die('Nu pot selecta baza de date');

// query pentru a verifica daca ip-ul exista deja

$query = "SELECT * FROM ip_log WHERE ip_vizitator = '$ip' LIMIT 1";
$result = mysql_query($query);

if (mysql_num_rows($result) == 0) { // iar daca nu exista putem continua
$query = "INSERT INTO ip_log (`ip_vizitator`, `sursa`, `pagina`) VALUES('$ip', '$sursa', '$pagina')";
mysql_query($query);
}

// dupa ce am terminat inchidem conexiunea cu baza de date
mysql_close($conn);
?>

Acum, in paginile pe care vreti sa le monitorizati includeti acest script printre primele linii.
Quote
<?php include ('ip_log.php'); ?>

Pentru afisarea datelor avem nevoie de urmatorul cod:
Quote
<?php
// date autentificare
$mysql_host = "localhost";
$mysql_database = "baza_de_date";
$mysql_user = "user";
$mysql_password = "parola";

// conexiunea la baza de date
$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die('Nu ma pot conecta la baza de date.');
mysql_select_db($mysql_database) or die('Nu pot selecta baza de date');

// afisarea in tabel a datelor
$query = "SELECT * FROM ip_log";
$result = mysql_query($query);

echo  "<center><br>";
echo  "<table width='75%' border='1' bordercolor='#000000'>";
echo  "<tr>";
echo  "<td align=center>ID</td>";
echo  "<td align=center>IP Vizitator</td>";
echo  "<td>Sursa(referer)</td>";
echo  "<td>Pagina accesata</td>";
echo  "<td align=center>Data si ora</td>";
echo  "</tr>";

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo  "<tr>";
echo  "<td align=center>{$row['id']}</td>";
echo  "<td align=center>{$row['ip_vizitator']}</td>";
echo  "<td align=left>{$row['sursa']}</td>";
echo  "<td align=left>{$row['pagina']}</td>";
echo  "<td align=center>{$row['data_ora']}</td>";
echo  "</tr>";
}

echo  "</table>";
echo  "</center>";

// dupa ce am terminat inchidem conexiunea cu baza de date

mysql_close($conn);
?>

Exemplu aici: pagina cu include.
Aici logul.
Pe pagina de test am cenzurat 3/4 din ip prin codul:
Quote
$ip = $row['ip_vizitator'];
$ip = implode(".", array_slice(explode(".", $ip), 0, 1));


 
   
Pagini: 1  
Mergi la