Un compteur indépendant par utilisateur

cs_MADESIGNER Messages postés 2 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 15 avril 2009 - 14 avril 2009 à 16:07
cs_MADESIGNER Messages postés 2 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 15 avril 2009 - 14 avril 2009 à 21:31
Bonjour je suis entrain de créer un site 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.

2 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
14 avril 2009 à 18:41
Salut,

Pas très clair, ça dépend beaucoup du code du compteur que tu veux implémenter. Et puis compteur de quoi ? de visites, de connectés, de cliques .... ?
J'imagine que chaque blog a un identifiant. A partir de là ça ne doit pas être bien compliqué de faire une entrée DB pour chaque compteur.

Cordialement,

Kohntark -
0
cs_MADESIGNER Messages postés 2 Date d'inscription dimanche 13 juillet 2008 Statut Membre Dernière intervention 15 avril 2009
14 avril 2009 à 21:31
désolé pour le manque d information

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();
?>
0
Rejoignez-nous