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
| <?php
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');
}
//on va vérifier la date pour voir si elle a changé
$ql3="select * from compte_pages where ip ='compteur' and nom_page='$page'";
$ret3= $con->query($ql3);
$ligne= mysqli_fetch_object ($ret3);
$date= date('Y-m-d');
//on convertit l heure courante en minute d une journee
$time=$time=(date("H") * 60) + date("i");
echo $time,"<br>";
//on va récupérer le nombre de visiteurs
$nombre=$ligne->compteur;
$t=$ligne->time;
echo $t,"<br>";
$d = $ligne->duree;
echo "<br>";
echo "nombre";
echo $nombre;
echo "<br>";
//on test si on a changé de jour
if ($date!="$ligne->date")
{
//on vide toutes les addresses ip enregistrées dans la table lors du changement de jour
$sql="delete from retient_pages where page_nom='$page'";
$res=$con->query($sql) or die ("requete invalide supp ip");
//on met a jour la nouvelle date dans la table
$sql="update compte_pages set date='$date' where ip='compteur' and nom_page='$page'";
$res=$con->query($sql) or die ("requete invalide maj date");
}
//on verifie l adresse ip du visiteur et aussi son heure de passage
$sql="select * from retient_pages where ip='$adress' and page_nom='$page'";
$res=$con->query($sql) or die ("requete invalide verif ip");
$ligne = mysqli_fetch_object ($res);
$num_rows =mysqli_num_rows ($res);
if ($num_rows=='0')
{
//on enregistre l adresse ip si elle est inconnu et on incremente le compteur
$sql="insert into retient_pages(ip,time,duree,page_nom) values ('$adress','$time','$time','$page')";
$res=$con->query($sql)or die ("requete invalide enr ip");
$nombre+=1;
echo $nombre;
$sql="update compte_pages set compteur=$nombre where ip='compteur' and page_nom='$page'";
$res=$con->query($sql) or die ("requete invalide up compt");
}
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->time; //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 retient_pages set time=$time,duree=$time where ip='$adress' and page_nom='$page'";
$res=$con->query($sql) or die ("requete invalide maj time");
//on cree une ligne fictive pour pouvoir le comptabilisé dans les connectés de jour
$adress1=$adress.".".$nombre;
$sql="insert into retient_pages (ip,time,duree,page_nom) values ('$adress1','$time','$time', '$page')";
$res=$con->query($sql)or die ("requete invalide enr ip");
//et on increment le compteur de visite
echo $nombre,"<br>";
$nombre=$nombre+1;
echo $nombre;
$sql="update compte_pages set compteur=$nombre where ip='compteur' and nom_page='$page'";
$res=$con->query($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 retient_pages set time=$time where ip='$adress' and page_nom='$page'";
$res=$con->query($sql) or die ("requete invalide maj time");
}
}
} |
Partager