Afficher la liste des connectés sur votre site

  Information

Ce code sert à afficher la liste des connectés sur le site.
On stock l'ip du visiteur, son pseudo et sa date de dernière visite dans une table.

La table SQL est fournie au début du source.

  code source classé dans  Divers

 
 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    
                               
<?php
/*---------------------------------------------------------------*/
/*
    Titre : Afficher la liste des connectés sur votre site                                                               
                                                                                                                          
    URL   : https://phpsources.net/code_s.php?id=52
    Auteur           : R@f                                                                                                
    Date édition     : 01 Sept 2004                                                                                       
    Date mise à jour : 18 Sept 2019                                                                                      
    Rapport de la maj:                                                                                                    
    - refactoring du code en PHP 7                                                                                        
    - fonctionnement du code vérifié                                                                                    
    - modification de la description                                                                                      
*/
/*---------------------------------------------------------------*/?>
    CREATE TABLE `connectes` (
        `ip` varchar(20) NOT NULL default '',
        `derniere` int(9) unsigned NOT NULL default '0',
        `pseudo` varchar(32) NOT NULL default '',
        PRIMARY key (`ip`)
    ) TYPE=MyISAM;
    
<?php
        
    // ip du client
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $ip $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
    $ip $_SERVER['REMOTE_ADDR'];
    }
                                                               
    // time actuel
    $time time();

    // on recherche l’utilisateur
    $sql_query "SELECT * FROM connectes where ip='$ip'";
    $result $conn->query($sql_query);
                                                               
    // si l'utilisateur n'est pas deja dans la table
    if($result->num_rows == 0)
    {
    $sql_query "INSERT INTO connectes VALUES ('$ip', '$time')";
    $result $conn->query($sql_query);
                                                                   

    }
    // mise-à-jour
    else
    {
    $sql_query "UPDATE connectes SET derniere='$time' WHERE ip='$ip'";
                                                                   
    $result $conn->query($sql_query);
                                                                   
    }
                                                               
    // 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 $conn->query($sql_query);
                                                               
    /*******************
    Affichage des connectés
    *******************/

    $sql_query "SELECT count(*) FROM connectes";
    $result $conn->query($sql_query);

                                                                                   
    if($result)
    {
    $visiteurs mysqli_fetch_array($result);
    echo '<li><br />Connect&eacute;s: ' $visiteurs[0].'</li>';
                                  
    }
?>

          Fonctions du code - Doc officielle PHP

   php.net   Description Versions PHP OUTIL
   echo Affiche une chaîne de caractères PHP 4, PHP 5, PHP 7, PHP 8
   empty Détermine si une variable contient une valeur non nulle PHP 4, PHP 5, PHP 7, PHP 8
   mysqli_fetch_array Retourne une ligne de résultat sous la forme d'un tableau associatif PHP 5, PHP 7, PHP 8
   time Retourne le timestamp UNIX actuel PHP 4, PHP 5, PHP 7, PHP 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[5]

  • avatar

    KOogar

    02 Aout 2023 à 07:14

    Faut initialiser $temps au début du code Tel que:  // temps en min avant d'être considéré comme inactif $temps = 5;

  • avatar

    Invité

    10 Déc 2022 à 17:24

    $temp il sert a quoi se null?

  • avatar

    Invité

    15 Oct 2009 à 00:04

    Moi ça fonctionne mais ca supprime juste le pseudo dans la table et non toute l'entré et c'est bien embêtant car visiteur augmente toujours et si on ferme le navigateur en postant un message alors l'entré n'est pas supprimé

  • avatar

    Invité

    30 Nov 2007 à 23:07

    j'ai aucune erreur mais rien ne s'affiche ??
    et rien ne s'enregistre dans la bdd ??

  • avatar

    Patrick

    28 Sept 2005 à 16:05

    bonjour et merci pour tous les sript. j'essaye de faire marcher le script
    "Afficher la liste des connectés sur le site"
    j'ai l'erreur suivante :
    Parse error: parse error, unexpected T_VARIABLE in /var/www/free.fr/d/b/projeteurasien/qui.php on line 16
    merci pour votre aide
    patrick


 Autres snippets qui pourraient vous intéressez

Afficher la citation du jour sur votre site

Compatibilité : PHP 5, PHP 7

Afficher sur votre site internet une citation différente chaque jour de l'année. Mettre 1 seule citation par ligne.

Protéger vos adresses email sur votre site

Compatibilité : PHP 5, PHP 7

Retourne du JS qui permet de placer des adresses email en clair sur une site sans que celle ci soit visible dans le code.

Comment afficher les erreurs

Compatibilité : PHP 5, PHP 7

PHP - En premier configurer le fichier php.ini et ensuite dans vos scripts PHP afficher les rapports d'analyse des erreurs avec 4 types possibles de rapport.

Redirection PHP ancien site vers nouveau site

Compatibilité : PHP 5, PHP 7

Il arrive que l'on doive faire une redirection définitive d'un ancien site vers un nouveau. Il faut alors mettre en place une redirection 301 sur chaque page.

Afficher le nombre de fans de Facebook

Compatibilité : PHP 5, PHP 7

Like: Montrer à vos visiteurs le nombre total de J'aime de Facebook sur votre blog WP.

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

avatar

R@f

  01 Sept 2004

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    18 Sept 2019
    refactoring du code en PHP 7
    fonctionnement du code vérifié
    modification de la description

24 495 Vues
Compatibilité
PHP 5, 7 et 8+