- Afficher le pseudo & image des connectés
- Liste des appareils connectés - Guide
- Légende image word - Guide
- Reduire taille image - Guide
- Image iso - Guide
- Pseudo facebook - Guide
48 réponses
- 1
- 2
- 3
L'objectif est d'afficher dans un cadre les utilisateurs connectés, avec leur pseudo et leur image, en temps réel, dans l'espace membres du site web. Plusieurs réponses évoquent l'utilisation d'une requête SQL qui combine la table des sessions et la table des profils pour récupérer le nom et l'image des visiteurs actifs. Des échanges portent aussi sur des erreurs liées à des jointures et aux clés primaires ou étrangères, nécessitant d'adapter les requêtes et le schéma pour afficher correctement l'identité et l'avatar. Une nuance utile concerne les contraintes de sécurité et de performance, qui peuvent favoriser un affichage par lots ou une mise en cache plutôt qu'un recalcul continu des visiteurs en ligne.
http://grpminfo.fr/heberg/up/trr2.jpg
de maniere a ce que les autre puisse voir qui en en ligne.
Ce serait bien plus facile d'avoir ton code pour que l'on puisse t'aider ;)
// configuration de la table $tblInfo['name'] = 'whoisonline'; $tblInfo['cIpName'] = 'login'; $tblInfo['cTimeName'] = 'lastTime';
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSi oui, peux tu nous fournir la structure de la table stp ?
Cordialement.
Leur structure stp ?
Tu ne va peut être pas avoir besoin de créer de nouvelle table tout dépend du contenu de tes tables.
Je pense qu'il te faut une table utilisateur (qui je pense tu possède) avec comme champ "pseudo", "connecté"(un booléen ce qui signifie que dés que l"utilisateur se connecte tu passe le champ à true et dés qu'il se déconnecte tu le passe à false) et un champ "avatar/image"(ce champ peut être dans une autre table).
Ensuite dans ton script tu fais une requête sql qui récupère les personnes dont le champ connecté est à true ainsi que leur pseudo et leur avatar et après dans tu l'affiche comme tu le souhaite.
ensuite tu as le champ "photo_profil" donc impeccable par contre pour savoir s"il est connecté en temps réél tu as pa strop de champ on dirait, il faudrait peut être en créer un.
Après comme je t'est dit plus haut tu fais une requête qui te récupére ce dont tu as besoin puis tu affiche comme souhaité. Je voit pas ou est ton souci.
Essaye de le faire avec tout ce que je t'est dit je pense que tu peux y arriver et si tu est vraiment bloqué dans ton code on t'aidera mais c'est sûr je vais pas tout te faire ;)
Je te conseil alors de lire des tutoriel tel que : http://www.creation-du-web.com/honolulu/cours-html-javascript-mysql2.html
et
http://www.php-astux.info/mysql-requetes-sql.php
Petit aide : il faut que tu fasse une requête SELECT avec une restriction WHERE.
Essaye et reviens avec un bout de la requête!!Car si je te donne le truc tout fais, cela ne t'aidera pas je t'assure!!
voici le lien de ce script : http://www.javascriptfr.com
Quel message d'erreur il t'affiche ? Il faut peut être que tu modifie certain des fichiers pour que ça marche avec ton site.
il faut que tu lui mette le nom de ta base.....
Ensuite dans les fichiers, tu dois avoir des endroits ou il y a des requêtes SQL, il faut que tu modifie les champs pour qu'il correspondent à ceux de ta table.
page getOnlinePeople.php
// Cette page récupère le nombre de visiteur
// Pour ne pas que la page soit mise en cache
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
// inclusion des variable de configuration
include("config.php");
// connexion a la BD
include("connect.php");
// Requete pour récupérer le nombre de visiteur...
// WHERE = nom du champ contenant le time est plus petite que le time actuel - la variable alouer au temps entre les updates
$sql = "SELECT * FROM ".$tblInfo['name']." WHERE ".$tblInfo['cTimeName']." > '".(time()-$updateTime)."'";
$result = mysql_query($sql);
$nbResult = mysql_num_rows($result);
echo 'Visiteur en ligne: '.$nbResult;
?>
page config.php (je n'est pas mis les info de ma bdd pour ne pas les afficher ici)
// Cete page contien les configurations de connection à la BD ainsi que le nom // de la table destiné au entré IP/TIME d'un visiteur // information de connection $connectInfo['host'] = "localhost"; // voir hébergeur $connectInfo['user'] = ""; // vide ou "root" en local $connectInfo['pass'] = ""; // vide en local $connectInfo['bdd'] = "test"; // nom de la BD // configuration de la table $tblInfo['name'] = 'whoisonline'; $tblInfo['cIpName'] = 'ip'; $tblInfo['cTimeName'] = 'lastTime'; ?>
page connect.php
// Cette page cré la connection avec la BD
// connexion
@mysql_connect($connectInfo['host'],$connectInfo['user'],$connectInfo['pass'])
or die("Impossible de se connecter");
@mysql_select_db($connectInfo['bdd'])
or die("Impossible de se connecter");
?>
page updateOnlineInfo.php
// Cette page sert à enregistrer le IP et le TIME de la fonction time() de php qui se trouve à
// etre: l'heure courante, mesurée en secondes depuis le début de l'époque UNIX, (1er janvier 1970 00:00:00 GMT).
// Pour ne pas que la page soit mise en cache
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
// inclusion des variable de configuration
include("config.php");
// connexion a la BD
include("connect.php");
// Requete pour supprimer lancienne entré du client (visiteur)
$sql = "DELETE FROM ".$tblInfo['name']." WHERE ".$tblInfo['cIpName']."='".$ipUser."'";
mysql_query($sql);
// Requete pour ajouter la nouvelle entré du client (visiteur)
$sql = "INSERT INTO ".$tblInfo['name']." VALUES('".$ipUser."','".time()."')";
mysql_query($sql);
?>
page checkTblRessource.php
// Cette page vérifi si la table existe ... si elle n'existe pas la table est créé
// Pour ne pas que la page soit mise en cache
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
// inclusion des variable e configuration
include("config.php");
// connexion a la BD
include("connect.php");
//Vérifier si la table existe
function fnTableExists($tblName){
$bRetVal = FALSE;
$sql = "SHOW TABLES FROM test";
$result = mysql_query($sql);
while($row=mysql_fetch_row($result)) {
if ($row[0] == $tblName){
$bRetVal = TRUE;
}
}
mysql_free_result($result);
return $bRetVal;
}
//Vérifier si la table existe
if(!fnTableExists($tblInfo['name'])){
// SQL pour créer la table
$sql = "CREATE TABLE '".$tblInfo['name']."' ('".$tblInfo['cIpName']."' VARCHAR(20) not null, '".$tblInfo['cTimeName']."' INT(50) not null)";
mysql_query($sql);
}
?>
echo $sql." ".$nbResultdans la première page php (getOnlinePeople.php). et me dire ce que cela te renvoie. Tu peux même tester cette le résultat de $sql dans ton requêteur mysql pour être sur que ta requête est correct.
La page 'updateOnlineInfo.php' fonctionne parfaitement ? C'est à dire cela enregistre bien dans la base ?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>whoIsOnline</title>
<script language="javascript" src="includes/js/whoIsOnline.js"></script>
</head>
<ul style="list-style:none;">
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=none"><img src="./{THEME_DIR}/images/filact.png" border="0" /> {MENU_NEWS}</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=statute"><img src="./{THEME_DIR}/images/statut.png" border="0" /> {MENU_STATUS}</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=photo"><img src="./{THEME_DIR}/images/picture.png" border="0" /> Photos</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=notification"><img src="./{THEME_DIR}/images/notific.png" border="0" /> Notifications</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}create_album.html"><img src="./{THEME_DIR}/images/album.png" border="0" /> {FOOTER_CREATE_ALBUM}</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}create_group.html"><img src="./{THEME_DIR}/images/grpe.png" border="0" /> {FOOTER_CREATE_GROUP}</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}messagerie.html"><img src="./{THEME_DIR}/images/mail.png" border="0" /> Messagerie</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}create_event.html"><img src="./{THEME_DIR}/images/calandar.png" border="0" /> Creer evenement</a></div>
</li>
<br/><center><img src="./{THEME_DIR}/images/ligne1.png" border="0" /></center><br/>
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=none"><img src="./{THEME_DIR}/images/application-icon.png" border="0" /> Applications</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=none"><img src="./{THEME_DIR}/images/playing-card.png" border="0" /> Jeux</a></div>
</li>
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=none"><img src="./{THEME_DIR}/images/application-dock.png" border="0" /> Developpeurs</a></div>
</li>
</li><br/><center> <b>Qui est en ligne ? </b></CENTER>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>whoIsOnline</title>
<script language="javascript" src="includes/js/whoIsOnline.js"></script>
<body onLoad="start('whoIsOnline',15,'<?php echo $_SERVER['REMOTE_ADDR']; ?>');" onUnload="checkClosePage('<?php echo $_SERVER['REMOTE_ADDR']; ?>');">
<body onLoad="start('whoIsOnline',15,'<?php echo $_SERVER['REMOTE_ADDR']; ?>');" onUnload="checkClosePage('<?php echo $_SERVER['REMOTE_ADDR']; ?>');">
<div id="whoIsOnline_zone" style="border:1px #cccccc solid;width:143px;height:180px;padding:4px; background-color:#ffffff;"></div>
</body>
</html>
<br/>
<li>
<div class="button_menu"><a href="{SITE_URL}index.php?page=no&filter=none"><img src="./{THEME_DIR}/images/maj.png" border="0" /> Mises a jour</a></div>
</li>
</ul>
</html>
<body onLoad="start('whoIsOnline',15,'<?php echo $_SERVER['REMOTE_ADDR']; ?>'); onUnload="checkClosePage('<?php echo $_SERVER['REMOTE_ADDR']; ?>');"">
si je laisse comme cela je voit apparaitre ');"">
donc j'ai modifier comme cela
<body onLoad="start('whoIsOnline',15,'<?php echo $_SERVER['REMOTE_ADDR']; ?>'); " onUnload="checkClosePage('<?php echo $_SERVER['REMOTE_ADDR']; ?>');">
et la je ne voit plus ce bout de code apparaitre mais toujour pas de fonctionnement ...
- 1
- 2
- 3