REQUIS
Une base de données MySQL, et PHP. C'est tout et c'est disponible
chez free.fr
CREATION DE LA TABLE
Dans un premier temps, nous créons une table permettant de stocker
les infos de log (la page visitée, la date et l'heure, le nom de
la machine du visiteur, et son browser). on crée pour cela un fichier
texte table.txt avec le contenu suivant :
create table logs (
log_ID int not null auto_increment,
log_page text,
log_date timestamp,
log_hostname text,
log_http_agent text,
log_http_referrer text,
key(log_ID)
);
Importer la table dans la base test avec la commande:
mysql test < table.txt
Vérifier que tout s'est bien déroulé :
mysql test
mysql>describe logs;
INSERTION D'UN LOG DANS LA BASE
On crée ensuite le fichier log.php3 qui
<?phpHeader( "Content-type: image/gif"); //header de type gif
passthru( "cat clear.gif" ); //
$address = gethostbyaddr($REMOTE_ADDR); //récupère le nom correspondant à l'adresse IP du
switch($c)
{
case 1:
$page = "index.html";
break;
case 2:
$page = "cv.html";
break;
}$conn = mysql_connect();
if (!$conn) {
echo "Connection impossible\n";
exit;
}
$requete = sprintf("insert into logs values (null, \"%s\", null, \"%s\", \"%s\", \"%s\");", $page, $address, $HTTP_USER_AGENT, $HTTP_REFERRER);
echo $requete;
$res = mysql_db_query("test", $requete, $conn);
if (!$res) {
echo "Problème lors de la requète!\n";
exit;
}mysql_close($conn);
?>
<script language="JavaScript">
document.write("<IMG SRC=\"http://genomenews.free.fr/log.php3?referrer=" + escape(document.referrer) + "\" height=1 width=1>");
</script>3 . CONSULTATION DES RESULTATS
<HTML><BODY BGCOLOR="#9999cc">
<CENTER><B>JOURNAL DES CONNECTIONS RECENTES</B><BR><BR>
<?php
$host = "localhost";
$user = "olly";
$pswd = "";
$database = "test";$conn = mysql_connect($host, $user, $pswd);
if (!$conn)
echo "Connection impossible!\n";$result = mysql_db_query($database, "select * from logs");
echo "<TABLE BORDER=\"1\">\n";
echo "<TR BGCOLOR=\"gray\">\n";
echo "<TD>ID</TD> <TD>page visitée</TD> <TD>visiteur</TD> <TD>date et heure</TD><TD><CENTER>Browser/OS</CENTER></TD>\n";
echo "</TR>\n";
while ($row = mysql_fetch_array($result))
{
echo "<TR>\n";
echo "<TD>".$row["log_ID"]."</TD><TD>".$row["log_page"]."</TD><TD>".$row["log_hostname"]."</TD><TD>".$row["log_date"]."</TD><TD>".$row["log_http_agent"]."</TD>\n";
echo "</TR>\n";
}
echo "</TABLE>\n";mysql_free_result($result);
mysql_close();?>
</CENTER>
</BODY></HTML>![]()