[PHP] Affichage du nom des membres connectés
avec $_SESSION['MM_Username'] de Dreamweaver
A la différence de beaucoup de compteurs, celui-ci se base sur les noms d'utilisateurs qui se sont connectés et non sur les adresses ip.
Le code marche pour les sites qui ont choisit comme mode d'identification des utilisateurs celui proposé par le comportement serveur de dreamweaver (notamment pour récupérer la variable: $_SESSION['MM_Username'] )
Pour ce faire, ce tuto se base sur 3 étapes:
1) création de la base de données
2) création du fichier de connection à la base, nommé : "dv_config.php
3) création du fichier dans lequel on retrouve le code du compteur, nommé : "dv_connect "
4) implémentation du compteur dans votre page, nommée : "page.php"
Etape 1 Création de la base de données
Dans phpmyadmin, aller dans la section SQL et coller le code suivant.
CREATE TABLE DVconnectes ( dateDebut int(11) DEFAULT '0' NOT NULL, dateFin int(11) DEFAULT '0' NOT NULL, ip varchar(100) DEFAULT '0' NOT NULL, PRIMARY KEY (dateDebut) ); // le champs ip sera celui ou on stocke le nom de l'utilisateur //
Etape 2 Faites un fichier config, nommé dv_config.php dans lequel seront stockés vos paramètres de connection
<?php /*********************************************************************/ /* DVconnectés - Script de configuration */ /* © Suprem ( suprem@free.fr ) - 2001 */ /*********************************************************************/ /* connexion à la base de données */ $dv_host = "localhost"; // adresse du serveur sql que vous utilisez. ex : "sql.free.fr" $dv_login = "user"; // login de la base de données. ex : votre login Free $dv_pass = "password"; // mot de passe de la base de données. ex : votre mot de passe Free $dv_base = "user"; // nom de la base de données. ex : identique à votre login sur Free /* fin du script de configuration */ ?>
Etape 3 Création du fichier "dv_connect "
<?php /*********************************************************************/ /* DVconnectés - Script qui compte le nombre de connectés */ /* © Suprem ( suprem@free.fr ) - 2001 */ /*********************************************************************/ include "dv_config.php"; // modifier ce lien en fonction du lieu où vous avez stocké vos fichiers // $db = mysql_connect("$dv_host", "$dv_login", "$dv_pass") or die("Connexion impossible"); mysql_select_db("$dv_base",$db); $ipAppelant = $_SESSION['MM_Username']; // la fameuse variable donnée par dreamweaver // $heureAppelant = time(); $query = "SELECT * FROM DVconnectes"; $result = mysql_query($query); while ($row = mysql_fetch_array($result)) { if ($row[dateFin] < $heureAppelant) { $query_plus_la = "DELETE FROM DVconnectes WHERE ip='$row[ip]'"; $result_plus_la = mysql_query($query_plus_la); } } $query_appelant = "SELECT * FROM DVconnectes where ip='$ipAppelant'"; $result_appelant = mysql_query($query_appelant); $nb3 = mysql_num_rows($result_appelant); if ($nb3 != 0) {} else { $dateDebut = time(); $dateFin = time()+3600; $query_inc = "INSERT INTO DVconnectes VALUES('$dateDebut','$dateFin','$ipAppelant')"; $result_inc = mysql_query($query_inc) or die (""); } $query_connectes = "SELECT * FROM DVconnectes"; $result_connectes = mysql_query($query_connectes); $count = mysql_num_rows($result_connectes); if ($count == 1) $txt = "connecté: "; else $txt = "connectés: "; echo $count." ".$txt."\n"; mysql_close($db); ?>
Etape 4 Intégration du compteur sur votre page "page.php"
// il s'agit de faire un simple jeu d'enregistrements dans lequel // on va chercher la table DVconnectes et on sélectionne le champs ip<?php mysql_select_db($******_******, $********); $query_liste = "SELECT ip FROM DVconnectes"; $liste = mysql_query($query_liste, $*******) or die(mysql_error()); $row_liste = mysql_fetch_assoc($liste); $totalRows_liste = mysql_num_rows($liste); ?> //****entre les balises <body>****// <h1>Membres actifs</h1> // modifier ce lien en fonction du lieu où vous avez stocké vos fichiers // <?php include ("dv_connect/dv_connect.php");?> <?php do { ?> <?php echo $row_liste['ip']; ?> ... <?php } while ($row_liste = mysql_fetch_assoc($liste)); ?> <?php mysql_free_result($liste); ?>
Et voila, le tour est joué.
Bon dev...
Au fil des news Magazines - Le N°128 de Programmez est disponible Magazines - Le N°127 de Programmez est disponible Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6 Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ... Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1 JavaScript - Ajouter une page dans vos favorites Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 - Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ... SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ... Magazines - Le n°126 de Programmez est disponible Outils - Traducteur en ligne automatique pour site web Adobe - Adobe Photoshop.com Mobile pour Iphone Magazines - Le n°125 de Programmez est disponible Adobe - Adobe AIR 2 et Flash Player 10.1version bêta Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ... Magazines - Le n°124 de Programmez est disponible PHP - Forum PHP 2009 Composants - eFace - XAML en Java WPF - Désactiver le bouton de réduction d'une fenêtre Magazines - Le n°123 de Programmez est disponible Magazines - Le n°122 de Programmez est disponible Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ... SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0 Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ... Magazines - Le HS N° 1 de Web Design est disponible Adobe - Adobe propose en Open Source les frameworks..... Outils - EntityBuilder CSharp - Sérialisation XML de vos objets Magazines - Le n°121 de Programmez est disponible Adobe - Adobe annonce MAX 2009 ! Outils - WhoIs [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3 Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ... PHP - News avec photo - Système de gestion - affichage Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ... Outils - Crypt Dreamweaver Php Mysql - Région répétée imbriquée Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ... Magazines - Le n° 120 de Programmez est disponible Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ... PHP - Le Coach PHP sur Visual Studio .NET - Ecrire une application .NET utilisant MySQL PHP - Utilisation de PHP dans le monde Microsoft Magazines - Le n° 119 de Programmez est disponible Adobe - Adobe annonce Photoshop Marketplace [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0 Mis à jour le 20/04/2009