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 119 120
| <?php
include("../visite/connect_visite.php") ;
//on recupere l adresse ip du visiteur
if($_SERVER) {
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$adress = $_SERVER['HTTP_X_FORWARDED_FOR'];
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
$adress = $_SERVER['HTTP_CLIENT_IP'];
else
$adress = $_SERVER['REMOTE_ADDR'];
}
else {
if(getenv('HTTP_X_FORWARDED_FOR'))
$adress = getenv('HTTP_X_FORWARDED_FOR');
elseif(getenv('HTTP_CLIENT_IP'))
$adress = getenv('HTTP_CLIENT_IP');
else
$adress = getenv('REMOTE_ADDR');
}
echo "IP=".$adress."<br/>";
//on verifie si on a pas changé de jour et on recupere le chiffre du compteur
$sql="select * from compteur_visite where ip!='".$adress."'";
$res=mysqli_query($id_conni,$sql)or die(mysql_error());
$ligne = mysqli_fetch_object($res);
echo "sql=".$sql."<br/>";
$date = date("Y-m-d");
//on convertit l heure courante en minute d une journee
$time=(date("H") * 60) + date("i");
//on recupere le compteur courant et le temps t
$compteur=$ligne->compteur;
$t=$ligne->time1; //temps de connexion de reference
$d=$ligne->duree; //duree de renouvellement de reference
//on test si on a changé de jour
if ($date!=$ligne->date1)
{
//on vide toutes les addresses ip enregistrées dans la table lors du changement de jour
$sql="delete from compteur_visite where ip!='".$adress."'";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide supp ip");
//on met a jour la nouvelle date dans la table
$sql="update compteur_visite set date1='$date'";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide maj date");
}
//on verifie l adresse ip du visiteur et aussi son heure de passage
$sql="select * from compteur_visite where ip='".$adress."'";
echo "avant verif IP sql=".$sql."<br/>";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide verif ip");
$ligne = mysqli_fetch_object ($res);
$num_rows =mysqli_numrows ($res);
echo "num-rows=".$num_rows."<br/>";
if ($num_rows==0)
{
//on enregistre l adresse ip si elle est inconnu et on incremente le compteur
$sql="insert into compteur_visite (ip,time1,duree) values ('$adress','$time','$time')";
$res=mysqli_query($id_conni,$sql)or die ("requete invalide enr ip");
$compteur+=1;
$sql="update compteur_visite set compteur=$compteur where ip='".$adress."'";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide up compt");
echo "apres update<br/>";
}
else
{
//si l'adresse ip est connu alors verifie si sa connexion precedente est superieur a la durée
//de renouvellement et si son heure de passage precedente incremente ou pas les connectés
$time1=$ligne->time1; //on recupere l'heure de sa precedente connexion de notre connecté
$duree1=$ligne->duree; //on recupere l'heure de sa precedente connexion de notre connecté
// on verifie si sa derniere connexion ne date pas de plus que la duree de reference
if ($d*60<($time - ($duree1)))
{
//si la duree de reference est depassé alors notre connecté est comptablisé
//comme nouvelle visite et on met a jour sa nouvelle heure de passage
$sql="update compteur_visite set time=$time,duree=$time where ip='".$adress."'";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide maj time");
//on cree une ligne fictive pour pouvoir le comptabilisé dans les connectés de jour
$adress1=$adress.".".$compteur;
$sql="insert into compteur_visite (ip,time1,duree) values ('$adress1','$time','$time')";
$res=mysqli_query($id_conni,$sql)or die ("requete invalide enr ip");
//et on increment le compteur de visite
$compteur+=1;
$sql="update compteur_visite set compteur=$compteur where ip='".$adress."'";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide up compt");
}
else
{
//on met a jour son heure de passage si elle est superieure a t
if ($time>(($time1)-$t))
{
$sql="update compteur_visite set time1=$time where ip='".$adress."'";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide maj time");
}
}
}
//on compte le nb de connecté de la journée
$sql="select * from compteur_visite";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide compte visiteur journee");
$compteur_j=(mysqli_numrows ($res))-1;
echo "compteur_j=".$compteur_j."<br>";
//on compte le nb de connecté
$time=$time-$t;
$sql="select * from compteur_visite where time>=$time and ip!='compteur'";
$res=mysqli_query($id_conni,$sql) or die ("requete invalide compte visisteur connecté");
$compteur_c=mysqli_numrows ($res);
echo "compteur_c=".$compteur_c."<br>";
mysqli_free_result($res);
mysqli_close($id_conni);
?> |