Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AFFICHAGE DES CONNECTÉS V 1.1


Information sur la source

Catégorie :Divers Niveau : Initié Date de création : 01/07/2002 Date de mise à jour : 01/10/2002 20:24:38 Vu : 5 965

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Voila, un petit sscript d'affichage des conenctés tout con...

Il y a 2 modes : affichage des visiteurs et affichage des membres et des visiteurs conenctes.

Il faut ajouter la base MySql et modifier les parametres pr la connection a la base de données.  
 

Source

  • <?
  • // Auteur : Emmanuel Bouillon
  • // emmanuel@ti-progs.com
  • // http://www.ti-progs.com/
  • //Tables necessaire au script :
  • mysql_query("CREATE TABLE IF NOT EXISTS connectes (
  • id int(11) NOT NULL auto_increment,
  • ip varchar(15) NOT NULL default '',
  • time int(11) NOT NULL default '0',
  • membre varchar(30) NOT NULL default '',
  • KEY id (id)
  • ) TYPE=MyISAM;") ;
  • mysql_query("CREATE TABLE IF NOT EXISTS `visiteurs` (
  • `id` INT NOT NULL AUTO_INCREMENT,
  • `date` VARCHAR(10) NOT NULL,
  • `nbr` INT NOT NULL,
  • INDEX (`id`)
  • ) TYPE=MyISAM;") ;
  • //Pour activer le mode "membres", il suffit de mettre $membre=1; et que les memrbes qui passsent
  • //sur votre page aient (dans un cookie, par exemple) leur pseudo ou autre chose (du moment que la
  • //valeur est différente de "")
  • $membre=1;
  • // Parametres de conenction a la base de données
  • mysql_connect("localhost","root","") or die("Impossible de se connecter au serveur.");
  • mysql_selectdb("table") or die("Impossible de se connecter à la base de donnée.");
  • // reglez la variable $temps sur la durée moyenne d'un visiteur sur votre page
  • $temps=5*60;
  • $time= time();
  • $time2=time()-$temps;
  • $date=date("d/m/Y");
  • $requete= mysql_query("DELETE FROM `connectes` WHERE `membre`=deleted");
  • if (!$pseudo=="") { $requete= mysql_query("DELETE FROM `connectes` WHERE `membre`=\"$pseudo\" and `time`<$time2"); }
  • $date = date("d/m/Y");
  • $requete=mysql_query("select * from visiteurs where date=\"$date\"") ;
  • $ligne = mysql_fetch_object($requete);
  • $result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `ip`=\"$REMOTE_ADDR\" and `time`>=\"$time2\"");
  • $nb = mysql_fetch_row($result);
  • $nb = $nb[0] ;
  • if ($nb==0) {
  • $requete = mysql_query("INSERT INTO `connectes` values ('',\"$REMOTE_ADDR\",\"$time\",\"$pseudo\")");
  • $requete = mysql_query("SELECT COUNT(id) FROM `visiteurs` WHERE `date`=\"$date\"");
  • $nb = mysql_fetch_row($requete);
  • $nb = $nb[0] ;
  • if ($nb==0) {
  • $requete = mysql_query("INSERT INTO `visiteurs` values ('',\"$date\",'1')");
  • } else {
  • $requete = mysql_query("SELECT * FROM `visiteurs` WHERE `date`=\"$date\"");
  • $ligne = mysql_fetch_object($requete) ;
  • $nbr=$ligne->nbr ;
  • $nbr++;
  • $requete= mysql_query("UPDATE `visiteurs` SET nbr=\"$nbr\" WHERE `date`=\"$date\"");
  • }
  • } else {
  • $result = mysql_query("SELECT * FROM `connectes` WHERE `ip`=\"$REMOTE_ADDR\" and `time`>=\"$time2\"");
  • $v = mysql_fetch_object($result);
  • $ide=$v->id;
  • $requete= mysql_query("UPDATE `connectes` SET time=$time WHERE `connectes`.`id`=$ide");
  • }
  • if ($membre==0) {
  • $result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `time`>=\"$time2\"");
  • $nb = mysql_fetch_row($result);
  • $nb = $nb[0] ;
  • if ($nb<2) {
  • echo "<B>$nb</B> visiteur sur le site";
  • } else {
  • echo "<B>$nb</B> visiteurs sur le site";
  • }
  • } else {
  • $result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `time`>=\"$time2\" and `membre`=\"\"");
  • $nbv = mysql_fetch_row($result);
  • $nbv = $nbv[0] ;
  • $result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `time`>=\"$time2\" and `membre`<>\"\"");
  • $nbm = mysql_fetch_row($result);
  • $nbm = $nbm[0] ;
  • if ($nbm<2) {
  • echo "<B>$nbm</B> membre et ";
  • } else {
  • echo "<B>$nbm</B> membres et ";
  • }
  • if ($nbv<2) {
  • echo "<B>$nbv</B> visiteur sur le site";
  • } else {
  • echo "<B>$nbv</B> visiteurs sur le site";
  • }
  • }
  • $requete = mysql_query("SELECT * FROM `visiteurs` WHERE `date`=\"$date\"");
  • $ligne = mysql_fetch_object($requete) ;
  • $nbr=$ligne->nbr ;
  • echo "<BR><B>$nbr</B> visites aujourd'hui";
  • ?>
<?
// Auteur : Emmanuel Bouillon
// emmanuel@ti-progs.com
// http://www.ti-progs.com/

//Tables necessaire au script :
mysql_query("CREATE TABLE IF NOT EXISTS connectes (
  id int(11) NOT NULL auto_increment,
  ip varchar(15) NOT NULL default '',
  time int(11) NOT NULL default '0',
  membre varchar(30) NOT NULL default '',
  KEY id (id)
) TYPE=MyISAM;") ;


mysql_query("CREATE TABLE IF NOT EXISTS `visiteurs` (
             `id` INT NOT NULL AUTO_INCREMENT, 
             `date` VARCHAR(10) NOT NULL, 
             `nbr` INT NOT NULL,
             INDEX (`id`)
             ) TYPE=MyISAM;") ;

//Pour activer le mode "membres", il suffit de mettre $membre=1; et que les memrbes qui passsent
//sur votre page aient (dans un cookie, par exemple) leur pseudo ou autre chose (du moment que la
//valeur est différente de "")

$membre=1;

// Parametres de conenction a la base de données
mysql_connect("localhost","root","") or die("Impossible de se connecter au serveur.");
mysql_selectdb("table") or die("Impossible de se connecter à la base de donnée.");

// reglez la variable $temps sur la durée moyenne d'un visiteur sur votre page
$temps=5*60;
$time= time();
$time2=time()-$temps;
$date=date("d/m/Y");

 $requete= mysql_query("DELETE FROM `connectes` WHERE `membre`=deleted");
 
 if (!$pseudo=="") { $requete= mysql_query("DELETE FROM `connectes` WHERE `membre`=\"$pseudo\" and `time`<$time2"); }

 $date = date("d/m/Y");
 $requete=mysql_query("select * from visiteurs where date=\"$date\"") ;
 $ligne = mysql_fetch_object($requete);

$result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `ip`=\"$REMOTE_ADDR\" and `time`>=\"$time2\"");
$nb = mysql_fetch_row($result); 
$nb = $nb[0] ;

if ($nb==0) {
  $requete = mysql_query("INSERT INTO `connectes` values ('',\"$REMOTE_ADDR\",\"$time\",\"$pseudo\")");
  $requete = mysql_query("SELECT COUNT(id) FROM `visiteurs` WHERE `date`=\"$date\"");
  $nb = mysql_fetch_row($requete); 
    $nb = $nb[0] ;
    if ($nb==0) {
      $requete = mysql_query("INSERT INTO `visiteurs` values ('',\"$date\",'1')");
    } else {
     $requete = mysql_query("SELECT * FROM `visiteurs` WHERE `date`=\"$date\"");
     $ligne = mysql_fetch_object($requete) ;
     $nbr=$ligne->nbr ;
     $nbr++;
     $requete= mysql_query("UPDATE `visiteurs` SET nbr=\"$nbr\" WHERE `date`=\"$date\"");
    }
} else {
  $result = mysql_query("SELECT * FROM `connectes` WHERE `ip`=\"$REMOTE_ADDR\" and `time`>=\"$time2\"");
  $v = mysql_fetch_object($result);
  $ide=$v->id;
  $requete= mysql_query("UPDATE `connectes` SET time=$time WHERE `connectes`.`id`=$ide");
}

if ($membre==0) {
  $result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `time`>=\"$time2\"");
    $nb = mysql_fetch_row($result); 
    $nb = $nb[0] ;
    if ($nb<2) {
      echo "<B>$nb</B> visiteur sur le site";
    } else {
      echo "<B>$nb</B> visiteurs sur le site";
    }
} else {
  $result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `time`>=\"$time2\" and `membre`=\"\"");
    $nbv = mysql_fetch_row($result); 
    $nbv = $nbv[0] ;
  $result = mysql_query("SELECT COUNT(id) FROM `connectes` WHERE `time`>=\"$time2\" and `membre`<>\"\"");
    $nbm = mysql_fetch_row($result); 
    $nbm = $nbm[0] ;
    
    if ($nbm<2) {
      echo "<B>$nbm</B> membre et ";
    } else {
      echo "<B>$nbm</B> membres et ";
    }
    
    if ($nbv<2) {
      echo "<B>$nbv</B> visiteur sur le site";
    } else {
      echo "<B>$nbv</B> visiteurs sur le site";
    }
    
}



$requete = mysql_query("SELECT * FROM `visiteurs` WHERE `date`=\"$date\"");
     $ligne = mysql_fetch_object($requete) ;
     $nbr=$ligne->nbr ;

echo "<BR><B>$nbr</B> visites aujourd'hui";

?>

Conclusion

Maintenant, auto-ajout des tables necessaires :)

Si vous faites :
  $requete=mysql_query("SELECT * FROM `connectes` WHERE `connectes`.`membre`&lt;&gt;'' and `connectes`.`time`&gt;=\"$time2\"");
while ($ligne = mysql_fetch_object($requete)) {
$requete2=mysql_query("SELECT * FROM `users` WHERE `users`.`pseudo`=\"$ligne-&gt;membre\"");
$user = mysql_fetch_object($requete2);
ligne-&gt;membre&lt;BR&gt;";
}
 

Commentaires et avis

signaler à un administrateur
Commentaire de Dean le 08/07/2002 21:20:46

pas mal
Un truc qui aurait été sympa (pour améliorer le script) : créer la table automatiquement si celle-ci n'existe pas.

signaler à un administrateur
Commentaire de DuncanIdaho le 08/07/2002 22:42:15

Oué, pk pas
je le ferais qd j'aurais le tps :)

signaler à un administrateur
Commentaire de Tomcube le 24/07/2003 14:15:44

J'ai vite survolé le script mais je voudrais avoir des précisions sur son fonctionnement. Comment savoir quand un visiteur quitte le site ?? Est-ce qu'a chaque fois que le visiteur change de page sur le site, ça rajoute du "temps passé" sur le site ??
C'est un module qui m'interesse beaucoup pour la nouvelle version d'un site qui est en préparation.

signaler à un administrateur
Commentaire de DuncanIdaho le 08/08/2003 21:58:52

Un visiteur quitte le site quand (pour le script) il n'a pas vu de page depuis 5 min

Quiand un visiteur change de page, le temps est mis a jour, c tout :/

@++

signaler à un administrateur
Commentaire de lastwhirlwind le 28/10/2003 00:03:26

ca m'a l'air bien
pour l'instant pas de bugs du bon boulot ;)

signaler à un administrateur
Commentaire de msystar le 18/03/2005 20:33:01

le script m'interesse mais je ne parviens pas a l'exploiter.
je rappelle que je debute en php et tout m'interesse sur ce module.
Pouvez vous me donner plus d'explication sur so fonctionnement

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,44 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.