un compteur indépendant par utilisateur

un compteur indépendant par utilisateur - PHP - Programmation

Marsh Posté le 15-04-2009 à 17:44:16    

Bonjour je suis entrain de créer un site http://www.live-blog.fr/ support de blog,  mon problème concerne les blogs (exemple de blog) des inscrits.  Je voudrai qu ils aient un compteur indépendant mais que celui ci ce genere automatiquement a la creation de leur blog par rapport a url du blog
 
j espere que je me suis expliqué clairement merci pour vos reponses.
 
ce que fais ce code:
-compteur live
-compteur visite du jour
-compteur visite total
 
voici mon code:
<?
include("......" ) ;
 
//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');
          }
 
//on verifie si on a pas changé de jour et on recupere le chiffre du compteur
$sql="select * from compteur_visite where ip='compteur'";
$res=mysql_query($sql, $db);
$ligne = mysql_fetch_object ($res);
$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->time; //temps de connexion de reference
$d=$ligne->duree; //duree de renouvellement de reference
 
//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 compteur_visite where ip!='compteur'";
    $res=mysql_query($sql, $db) or die ("requete invalide supp ip" );
    //on met a jour la nouvelle date dans la table
    $sql="update compteur_visite set date='$date'";
    $res=mysql_query($sql, $db) 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'";
$res=mysql_query($sql, $db) or die ("requete invalide verif ip" );
$ligne = mysql_fetch_object ($res);
$num_rows =mysql_numrows ($res);
if ($num_rows==0)
{
    //on enregistre l adresse ip si elle est inconnu et on incremente le compteur
    $sql="insert into compteur_visite (ip,time,duree) values ('$adress','$time','$time')";
    $res=mysql_query($sql, $db)or die ("requete invalide enr ip" );
    $compteur+=1;
    $sql="update compteur_visite set compteur=$compteur where ip='compteur'";
    $res=mysql_query($sql, $db) 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 compteur_visite set time=$time,duree=$time where ip='$adress'";
        $res=mysql_query($sql, $db) 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,time,duree) values ('$adress1','$time','$time')";
        $res=mysql_query($sql, $db)or die ("requete invalide enr ip" );
       
        //et on increment le compteur de visite
        $compteur+=1;
        $sql="update compteur_visite set compteur=$compteur where ip='compteur'";
        $res=mysql_query($sql, $db) 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 time=$time where ip='$adress'";
            $res=mysql_query($sql, $db) or die ("requete invalide maj time" );
        }
    }
}
 
 
//on compte le nb de connecté de la journée
$sql="select * from compteur_visite";
$res=mysql_query($sql, $db) or die ("requete invalide compte visiteur journee" );
$compteur_j=(mysql_numrows ($res))-1;
 
//on compte le nb de connecté
$time=$time-$t;
$sql="select * from compteur_visite where time>=$time and ip!='compteur'";
$res=mysql_query($sql, $db) or die ("requete invalide compte visisteur connecté" );
$compteur_c=mysql_numrows ($res);
mysql_free_result($res);
mysql_close();
?>

Reply

Marsh Posté le 15-04-2009 à 17:44:16   

Reply

Marsh Posté le 15-04-2009 à 17:47:38    

Et ? :o
Fallait attendre vendredi...


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed