Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
965 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  un compteur indépendant par utilisateur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un compteur indépendant par utilisateur

n°1873468
madesigner
Posté le 15-04-2009 à 17:44:16  profilanswer
 

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

mood
Publicité
Posté le 15-04-2009 à 17:44:16  profilanswer
 

n°1873470
dwogsi
Défaillance cérébrale...
Posté le 15-04-2009 à 17:47:38  profilanswer
 

Et ? :o
Fallait attendre vendredi...


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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  un compteur indépendant par utilisateur

 

Sujets relatifs
compteur de visite unique pour chaque utilisateurFaire exécuter une fonction par un autre utilisateur
recuperation d'IP sur serveur distant, probleme de compteur[vbs] ajout d'un utilisateur AD dans un groupe
compteur VBA CATIAcreation interface requete pour utilisateur
compteur de visite qui ne marche pas[VBA] Nommer une nouvelle feuille excel d'après InputBox et compteur
Rollover independant pour chaques boutons 
Plus de sujets relatifs à : un compteur indépendant par utilisateur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR