Personnes connectées en PHP
Hors ligneUniversdupc Le 06/07/2005 à 19:25 Profil de Universdupc Configuration de Universdupc

Bonjour !
J'ai programmer un espace membre avec messageie ect, et actuellement j'aimerais créer un compteur de memebre et visiteur c'est à dire qu'à l'heure actuelle j'un un compteur qui comtabilise le nombre de personne connecté sur le site. Maintenant j'aimerais en creer qui contabilise les membre qui sont connecté ainsi qe les visiteur le tout en PHP.
Pourriez-vous m'éclérer sur la démarche àç suivre car la je sèche, cela serait sympa...

Merci d'avance cordialement !
Hors ligneAnthony Le 06/07/2005 à 22:08 Profil de Anthony Configuration de Anthony

Fou du volant
Salut,

tu crées une table dans une base de données MySQL. Voici ce que tu peux coller dans PHPMyadmin :

CREATE TABLE `connectes` (`ip` int(9) unsigned NOT NULL default '0',`temps` int(10) unsigned NOT NULL default '0',`membre` tinyint(1) unsigned NOT NULL default '0') TYPE=HEAP;


Ensuite tu auras mettons un fichier nommé "connectes.php". Ce fichier doit être inclus sur toutes tes pages et contenir ceci :
<?php      //------------------------------      //PARAMETRES DE CONNEXION      //------------------------------      $hote='localhost';      $user='root';      $passe='';      $base='base_de_donnees';      $limite_temps=240; //4 minutes        //------------------------------------------------------------------------      //NE PREND QUE LES TROIS PREMIERES PARTIES DE L'IP      //CECI PERMET D'ETRE PLUS FIABLE POUR LES IP DYNAMIQUES (AOL PAR EXEMPLE)     //------------------------------------------------------------------------      $i=explode('.',$_SERVER['REMOTE_ADDR']);      $ip_client=$i[0].$i[1].$i[2];         //--------------------------------------------------      //TEMPS ET LIMITE DE REACTUALISATION (ICI 4 MINUTES)      //AVANT DE CONSIDERER LE VISITEUR COMME ABSENT      //--------------------------------------------------      $temps=time();      $temps_limite=$temps-$limite_temps;      //SI C'EST UN MEMBRE OU PAS      if(isset($_SESSION['login']))      {           $membre=1;      }      else      {           $membre=0;      }         $connexion=mysql_connect($hote,$user,$passe) OR die('<p>Erreur de connexion à la base de données</p>');      mysql_select_db($base) OR die('<p>Impossible de sélectionner la base '.$base.'</p>');      mysql_query("DELETE FROM connectes WHERE temps<'$temps_limite' OR ip='$ip_client'") OR die('<p>Impossible d\'effectuer la requête</p>');      mysql_query("INSERT INTO connectes VALUES('".$ip_client."',".$temps.",".$membre.")") OR die('<p>Impossible d\'effectuer la requête</p>'); ?>

Ensuite si tu veux afficher le nombre de connectés tu places ceci dans un fichier :
<?php      $hote='localhost';      $user='root';      $passe='';      $base='base_de_donnees';     $connexion=mysql_connect($hote,$user,$passe) OR die('<p>Erreur de connexion à la base de données</p>');      mysql_select_db($base) OR die('<p>Impossible de sélectionner la base '.$base.'</p>');      $req1=mysql_query('SELECT membre FROM connectes') OR die('<p>Impossible d\'effectuer la requête</p>');      mysql_close($connexion) OR die('<p>Erreur de fermeture de la base</p>');      $nb_connectes=0;      $nb_membres=0;      while($r=mysql_fetch_row($req1))      {           $nb_connectes++;           if($r[0]==='1')           {                $nb_membres++;           }      }      echo 'Nombre de membres connectés :',$nb_membres,'. Nombre de connectés total : ',$nb_connectes; ?>

voilà, bien sûr c'est simplifié mais c'est fonctionnel.

a +
--

Hors ligneUniversdupc Le 07/07/2005 à 18:27 Profil de Universdupc Configuration de Universdupc

oki merci c sympa je vais essayer cela des que je peux merci encore.
Hors ligneMacfly51 Le 30/07/2005 à 15:23 Profil de Macfly51 Configuration de Macfly51

Bonjour,

J'ai lue votre explication au préalable sur le nombre de connectés sur un site.
Je n'ai pas tout compris étant débutant, je désirerai savoir
Je crée une table dans la BD.
Ensuite vous parlez de connectes.php.
Ma question est : je crée une page php et je colle votre synthaxe dedans en la nommant connectes.php ??(pourquoi vous dites dans toutes les pages ?) Et la deuxieme synthaxe je la colle à l'endroit ou je veux que les connectés apparaisse ?? Je réalise toute ces manipulations et ca me dit : impossible de selectionner la base :(

Aidez moi s'il vous plait
Merci
Hors ligneAnthony Le 30/07/2005 à 15:59 Profil de Anthony Configuration de Anthony

Fou du volant
Salut :-)

Tu places dans un fichier que tu nommeras "connectes.php" le code que j'ai posté plus haut pour le compteur de connectés, pas besoin de mettre autre chose. Ensuite sur chaque page de ton site (pour que le compteur de connectés fonctionne) tu mets ceci :

<?php include './connectes.php'; ?>

Ceci va inclure la page "connectes.php" et tu n'auras rien d'autre à faire. :-)

Pour l'erreur de selection de base, modifie les variables en haut du fichier "connectes.php" pour les faire correspondre à ton hébergeur.

a +
--

Hors ligneMacfly51 Le 30/07/2005 à 16:34 Profil de Macfly51 Configuration de Macfly51

Merci beaucoup pour votre rapidité, vraiment sympa votre site. Surtout l'esthétique que je trouve très bien conçu :). Bonne continuation.

Mac
Hors ligneAnthony Le 30/07/2005 à 18:47 Profil de Anthony Configuration de Anthony

Fou du volant
De rien ;-)

Merci pour les compliments, j'essaierai de toute façon d'améliorer encore tout ça.

a +
--

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels