Vous êtes ici Codes PHP et MySQL > Inclassable > Compteur des connectés

 

Compteur des connectés

Petit script qui permet de connaître le nombre de connectés sur le site (logés ou non)

On suppose que la variable $_SESSION['nom'] existe dans le cas ou le membre est logé

 
R@f
Site de l'auteur voir
[17] sources en PHP voir
Code vu 11335 fois
Enregistré le 03 Oct 2004
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Compteur des connectés
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Compteur des connectés                                    */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts70-PHP.htm               */
/* Auteur         : R@f                                                       */
/* Date édition   : 03 Oct 2004                                               */
/* Website auteur : http://www.allpotes.ch                                    */
/*                                                                            */
/******************************************************************************/

**********
Table MySQL
**********
CREATE TABLE `connectes` (
    `ipvarchar(20NOT NULL default '',
    `derniereint(9unsigned NOT NULL default '0',
    `pseudovarchar(32NOT NULL default '',
    PRIMARY key (`ip`)
) TYPE=MyISAM; 

****************************
A appeler en haut de chaque page
****************************
function connectes()
{
    // temps en min avant d'être considéré comme incactif
    $temps 5;
   
    // modifier les infos
    if(mysql_connect(BDD_HOSTBDD_PSEUDOBDD_PASS))
        mysql_select_db(BDD_BDD);
    else
        return;
       
    // ip du client
    $ip $_SERVER['REMOTE_ADDR'];
   
    // pseudo
    $pseudo = empty($_SESSION['nom']) ? '' $_SESSION['nom'];
   
    // time actuel
    $time time();

    // on recherche l'utilsateur
    $sql_query "SELECT * FROM connectes where ip='$ip'";
    $result mysql_query($sql_query);
   
    if(!$result)
        return;
   
    // si l'utilisateur n'est pas deja dans la table
    if(mysql_num_rows($result) == 0)
    {
        $sql_query "INSERT INTO connectes VALUES ('$ip', '$time', '$pseudo')";
        $result mysql_query($sql_query);
       
        if(!$result)
            return;
    }
    // mise-à-jour
    else
    {
        $sql_query "UPDATE connectes SET derniere='$time',
                      pseudo='$pseudo' WHERE ip='$ip'";
       
        $result mysql_query($sql_query);
       
        if(!$result)
            return;
    }
   
    // temps d'incativité
    $time -= $temps 60;
   
    // on supprime ceux qui n'ont pas été connectés depuis assez longtemps
    $sql_query "DELETE LOW_PRIORITY FROM connectes WHERE derniere <= $time";
    $result mysql_query($sql_query);
   
    mysql_close();
}

*******************
Affichage des connectés
*******************
stop 0;
         
// changer les infos   
if(mysql_connect(BDD_HOSTBDD_PSEUDOBDD_PASS))
    mysql_select_db(BDD_BDD);
else
    $stop 1;
                       
if(!$stop)
{
    $sql_query "SELECT pseudo FROM connectes WHERE pseudo <> ''";
    $result mysql_query($sql_query);
                       
    if(!$result)
        $stop 1;
    else
    {
        echo '<font color="#0000FF">Connectés:</font><br>';
                           
        while($connecte mysql_fetch_array($result))
            echo $connecte[0] . '<br>';
    }   
}
                   
if($stop == 0)
{
    $sql_query "SELECT count(*) FROM connectes WHERE pseudo = ''";
    $result mysql_query($sql_query);
                       
    if($result)
    {
        $visiteurs mysql_fetch_array($result);
                           
        echo '<br><font color="#0000FF">Visiteurs:</font><br>' $visiteurs[0];
    }
}
                   
mysql_close();

?>

@++

R@f
 

Fonctions du code

: Retourne une clé d'un tableau associatif - (PHP 4, PHP 5)
: Ouvre une connexion à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Sélectionne une base de données MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Détermine si une variable contient une valeur non nulle - (PHP 4, PHP 5)
: Retourne le timestamp UNIX actuel - (PHP 4, PHP 5)
: Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Retourne le nombre de lignes d'un résultat MySQL - (PHP 4, PHP 5, PECL...
: Ferme la connexion MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: - (PHP 4, PHP 5, PECL mysql:1.0)
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 

Connexion

 
 

Inclassable

 
 

PHP

 
 
        Publicité