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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
| <?php
$host = "localhost"; // voir hébergeur
$user = "root"; // vide ou "root" en local
$pass = ""; // vide en local
$bdd = "stat"; // nom de la BD
// connexion
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db("$bdd")
or die("Impossible de se connecter");
$sql = "INSERT INTO statistiques (ip,referer,time,parcours,download) ";
$sql .= "VALUES ('".$_SERVER['HTTP_REFERER']."',".time().",'".$_SERVER['REQUEST_URI']."')";
mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on crée $parcours et $time
$time = time();
$parcours = $_SERVER['REQUEST_URI'];
# On récupère l'adresse ip du visiteur
if ($GLOBALS['HTTP_X_FORWARDED_FOR'])
$ip_visiteur = $GLOBALS['HTTP_X_FORWARDED_FOR'];
else
$ip_visiteur = $GLOBALS['REMOTE_ADDR'];
// Conversion IP 4 octets -> entier 32 bits
if (ereg("^(::ffff:)?([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$", $ip_visiteur, $r)) {
$ip_visiteur = sprintf("0x%02x%02x%02x%02x", $r[2], $r[3], $r[4], $r[5]);
}
else return;
// on ajoute le champs sessid à la requête qui a pour valeur
// le n° de ssion généré par php et renvoyé par session_id()
$sql = "INSERT INTO statistique (ip,referer,time,parcours,sessid,download) ";
$sql .= "VALUES ('".$_SERVER['HTTP_REFERER']."', '$time','$parcours','$ip''$download''".session_id()."')";
mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on ouvre une session
session_start();
// on enregistre les variables comme variable de session
$_SESSION['time']= "$time";
$_SESSION['parcours']= "$parcours";
$_SESSION['ip']= "$ip";
$_SESSION['download']= "$download";
// on ouvre la session
session_start();
// on ajoute la nouvelle page vue, séparée par un point virgule, à la variable de session
$_SESSION['parcours'].= ';'.$_SERVER['REQUEST_URI'];
// on ajoute à la variable de session l'heure à laquelle la page a été vue
$_SESSION['time'].= ';'.time();
// on met la table à jour
$parcours=$_SESSION['parcours'];
$time=$_SESSION['time'];
$sql = "UPDATE statistique SET parcours='$parcours',time='$time'";
$sql .= "WHERE sessid='".session_id()."'";
mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on ouvre la session
session_start();
if(!isset($_SESSION['parcours']))
{
// il s'agit d'un nouveau visiteur, on crée $_SESSION['parcours'] et $_SESSION['time']
$_SESSION['time'] = time();
$_SESSION['parcours']= $_SERVER['REQUEST_URI'];
$parcours=$_SESSION['parcours'];
$time=$_SESSION['time'];
// on crée un enregistrement dans la table
$sql = "INSERT INTO statistique (referer,time,parcours,sessid)";
$sql .= "VALUES ('".$_SERVER['HTTP_REFERER']."','$time','$parcours','".session_id()."')";
}
else
{
//Sinon c'est un visiteur déjà présent, on ajoute la nouvelle page vue, séparée par un point virgule, à la variable de session
$_SESSION['parcours'].= ';'.$_SERVER['REQUEST_URI'];
// on ajoute à la variable de session l'heure à laquelle la page a été vue
$_SESSION['time'].= ';'.time();
// on met la table à jour
$parcours=$_SESSION['parcours'];
$time=$_SESSION['time'];
$sql = "UPDATE statistique SET parcours='$parcours',time='$time', ip='$ip' , download='$download'";
$sql .= "WHERE sessid='".session_id()."'";
}
//Enfin on exécute la requête dans tous les cas
mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
?> |
Partager