Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
Salut,
j'aimerais ajouter la ligne suivante Actuellement en ligne :
car j'ai l'affichage de mon forum comme suite
Dernier utilisateur inscrit : il s'affiche
Membres en ligne : il ne s'affiche pas
Membres aujourd'hui: il ne s'affiche pas
Invités en ligne : il s'affiche
et je sais pas comment réglé ce probleme
Hors ligne
Tu as activé son affichage ?
Administration -> Option -> Fonctionnalité -> Utilisateurs en ligne : Oui Non Affiche sur la page d'accueil des forums des informations concernant les utilisateurs qui sont en ligne lors de l'affichage de la page.
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Tu as activé son affichage ?
Administration -> Option -> Fonctionnalité -> Utilisateurs en ligne : Oui Non Affiche sur la page d'accueil des forums des informations concernant les utilisateurs qui sont en ligne lors de l'affichage de la page.
oui l'option Utilisateurs en ligne est activée mais rien ne s'affiche c'est comme expliquer en haut
Hors ligne
Je dirais qu'il y a eu une merdouille lors de l'installation de la mod : Membres aujourd'hui
Le mieux serait de reprendre les anciens fichiers et de refaire les modifs 
Hors ligne
j'ai pas installer le mod
Hors ligne
Pourtant cette ligne n'apparait pas sur mon forum et cette mod permet de l'afficher 
Hors ligne
je viens d'installer le mod mais je suis connecter et mon nom ne s'affiche pas même dans Membres en ligne : c'est 0
Hors ligne
D'autres mods d'installée ?
Hors ligne
D'autres mods d'installée ?
voila la liste des mods installer
* Packager
* PunToolBar
* Private messaging
* Publicite
* Smilies
* Messagerie personnelle
* Reputation
* ChatBox
Hors ligne
Bien, bien, bien...
Je ne vois pas d'où pourrait provenir l'erreur mis à part lors de l'installation d'une mod...
Hors ligne
ahh, ok merci je vais essayé de revoir les fichiers que j'ai modifier, mais le principale c'est index.php c'est ça ?
Hors ligne
Normalement oui, tout se passe vers la fin du fichier index.php
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Je ne comprend pas grand chose en php mais j'ai comparer le fichier index.php d'origine et le fichier que j'ai modifier et je ne trouve pas d'où viens le problème
voilà les dernières lignes du fichier si quelqu'un peut me trouver une solution, merci
// Fetch users online info and generate strings for output
$num_guests = 0;
$users = array();
$result = $db->query('SELECT user_id, ident, color FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error());
while ($pun_user_online = $db->fetch_assoc($result))
{
if ($pun_user_online['user_id'] > 1)
{
$colorspan = (!empty($pun_user_online['color'])) ? '<span style="color:'.$pun_user_online['color'].'; font-weight:bold">' : '';
$colorspan2 = (!empty($pun_user_online['color'])) ? '</span>' : '';
$users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.$colorspan.pun_htmlspecialchars($pun_user_online['ident']).$colorspan2.'</a>';
}
else
++$num_guests;
}
$num_users = count($users);
// utilisateurs en ligne aujourd'hui
$todaystamp = strtotime(date('Y-m-d'));
$result = $db->query('SELECT username, id, last_visit from '.$db->prefix.'users WHERE last_visit >= \''.$todaystamp.'\' ORDER by last_visit DESC') or error('Impossible de retrouver la liste des utilisateurs en ligne aujourd\'hui', __FILE__, __LINE__, $db->error());
$users_today = array();
while ($pun_user_online_today = $db->fetch_assoc($result))
$users_today[] .= "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online_today['id'].'" title="Dernière visite de '.pun_htmlspecialchars($pun_user_online_today['username']).' : '.format_time($pun_user_online_today['last_visit']).'">'.pun_htmlspecialchars($pun_user_online_today['username']).'</a>';
$num_users_today = count($users_today);
echo "\t\t\t\t".'<dd>'.$lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n";
if ($num_users > 0)
echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo "\t\t\t".'<div class="clearer"></div>'."\n";
// liste utilisateurs en ligne aujourd'hui
echo "\t\t\t".'<dl id="onlinetodaylist">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online today'].': </strong></dt>';
if ($num_users_today > 0)
echo implode(',</dd> ', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n";
else
echo '<dd><em>'.$lang_index['None'].'</em></dd>'."\n\t\t\t".'</dl>'."\n";
}
else
echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n";
?>
<span style="font-weight: bold;"></span><span
style="font-weight: bold;"><span
style="color: rgb(254, 1, 1);"><span
style="color: rgb(102, 102, 102);">Groupes :</span>
Administrateur</span> |
</span><span style="font-weight: bold;"><span
style="color: rgb(1, 205, 1);">Modérateur</span> | </span><span
style="font-weight: bold;"><span
style="color: rgb(1, 116, 205);">Membres</span> | </span><span
style="font-weight: bold;"><span
style="color: rgb(0, 0, 0);">Invités</span></span>
</div>
</div>
</div>
<?php
$footer_style = 'index';
require PUN_ROOT.'footer.php';Hors ligne
Pas de réponse !!!
Je ne comprend pas grand chose en php mais j'ai comparer le fichier index.php d'origine et le fichier que j'ai modifier et je ne trouve pas d'où viens le problème
voilà les dernières lignes du fichier si quelqu'un peut me trouver une solution, merci// Fetch users online info and generate strings for output $num_guests = 0; $users = array(); $result = $db->query('SELECT user_id, ident, color FROM '.$db->prefix.'online WHERE idle=0 ORDER BY ident', true) or error('Unable to fetch online list', __FILE__, __LINE__, $db->error()); while ($pun_user_online = $db->fetch_assoc($result)) { if ($pun_user_online['user_id'] > 1) { $colorspan = (!empty($pun_user_online['color'])) ? '<span style="color:'.$pun_user_online['color'].'; font-weight:bold">' : ''; $colorspan2 = (!empty($pun_user_online['color'])) ? '</span>' : ''; $users[] = "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online['user_id'].'">'.$colorspan.pun_htmlspecialchars($pun_user_online['ident']).$colorspan2.'</a>'; } else ++$num_guests; } $num_users = count($users); // utilisateurs en ligne aujourd'hui $todaystamp = strtotime(date('Y-m-d')); $result = $db->query('SELECT username, id, last_visit from '.$db->prefix.'users WHERE last_visit >= \''.$todaystamp.'\' ORDER by last_visit DESC') or error('Impossible de retrouver la liste des utilisateurs en ligne aujourd\'hui', __FILE__, __LINE__, $db->error()); $users_today = array(); while ($pun_user_online_today = $db->fetch_assoc($result)) $users_today[] .= "\n\t\t\t\t".'<dd><a href="profile.php?id='.$pun_user_online_today['id'].'" title="Dernière visite de '.pun_htmlspecialchars($pun_user_online_today['username']).' : '.format_time($pun_user_online_today['last_visit']).'">'.pun_htmlspecialchars($pun_user_online_today['username']).'</a>'; $num_users_today = count($users_today); echo "\t\t\t\t".'<dd>'.$lang_index['Users online'].': <strong>'.$num_users.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Users today'].': <strong>'.$num_users_today.'</strong></dd>'."\n\t\t\t\t".'<dd>'.$lang_index['Guests online'].': <strong>'.$num_guests.'</strong></dd>'."\n\t\t\t".'</dl>'."\n"; if ($num_users > 0) echo "\t\t\t".'<dl id="onlinelist" class= "clearb">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online'].': </strong></dt>'."\t\t\t\t".implode(',</dd> ', $users).'</dd>'."\n\t\t\t".'</dl>'."\n"; else echo "\t\t\t".'<div class="clearer"></div>'."\n"; // liste utilisateurs en ligne aujourd'hui echo "\t\t\t".'<dl id="onlinetodaylist">'."\n\t\t\t\t".'<dt><strong>'.$lang_index['Online today'].': </strong></dt>'; if ($num_users_today > 0) echo implode(',</dd> ', $users_today).'</dd>'."\n\t\t\t".'</dl>'."\n"; else echo '<dd><em>'.$lang_index['None'].'</em></dd>'."\n\t\t\t".'</dl>'."\n"; } else echo "\t\t".'</dl>'."\n\t\t\t".'<div class="clearer"></div>'."\n"; ?> <span style="font-weight: bold;"></span><span style="font-weight: bold;"><span style="color: rgb(254, 1, 1);"><span style="color: rgb(102, 102, 102);">Groupes :</span> Administrateur</span> | </span><span style="font-weight: bold;"><span style="color: rgb(1, 205, 1);">Modérateur</span> | </span><span style="font-weight: bold;"><span style="color: rgb(1, 116, 205);">Membres</span> | </span><span style="font-weight: bold;"><span style="color: rgb(0, 0, 0);">Invités</span></span> </div> </div> </div> <?php $footer_style = 'index'; require PUN_ROOT.'footer.php';
Hors ligne
En effet, le code n'a pas l'air d'être incorrect.
D'après ce que je vois sur ton forum, les invités sont bien comptés (enfin disons que ça ne reste pas à 0)
Donc le résultat de la requête sur la liste des personnes connectés renvoie bien quelque chose.
La question que je me pose, c'est si un membre est connecté, est-ce qu'il est affiché parmi les invités ou pas ?
Pour essayer de comprendre ce qui ne va pas, faut essayer de voir ce qu'il y a dans la table online.
En gros, tu te connectes sur ton site, puis tu regardes dans ta base de donnée ce que possèdes la table online. (j'sais pas si t'as un phpmyadmin ou autre avec ton hébergement... )
Logiquement, tu dois voir ton adresse ip, et si c'est le cas le champs : "user_id" doit être > 1 (si tu es loggé)
Sinon c'est qu'il y a un problème lors de la mise à jour de cette table. Donc ca n'aurait rien à voir avec le code que t'as mis (et donc ca viendrait d'une modification que t'as fait autre part)
Dernière modification par Lyconide (14-02-2009 21:01:22)
Hors ligne
Merci pour votre réponse
j'ai vérifier la table online et le champs user_id et ainsi :
Champ Type Interclassement Attributs Null Défaut Extra
user_id int(10) UNSIGNED Non 1
Alors la valeur par défaut est 1, je pense que tout va bien mais le problème est toujours présent et même après installation En ligne aujourd'hui: il apparait vide aucun, même si je me suis connecter.
Hors ligne
Quand tu es connecté au forum et que tu regardes le contenu de cette table, qu'est-ce qu'il y a d'affiché ?
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Champ Type Interclassement Attributs Null Défaut Extra
user_id int(10) UNSIGNED Non 1
Hors ligne
Ce que tu es en train de nous montrer, c'est la structure de la base (qu'on connait déjà)
Ce qu'on voit voir, c'est plutôt le contenu qui ressemble à ca :
(visible quand on clique sur l'onglet "Afficher")
Dans la colonne "ident", on voit l'adresse ip (ici elle commence par 193. ), et ce qui nous intéresse c'est l'user id.
Hors ligne
Je n'arrive pas à cliquer sur afficher ça m'affiche la table semble vide et quand je clique ça me sort toujours la structure et en haut "MySQL n'a retourné aucun enregistrement."
Hors ligne
Ça veut dire qu'il y a une erreur dans la fonction qui enregistre les utilisateurs, qui doit venir de ton installation de la mod "color usergroup" (que tu as oublié de lister).
Essais de refaire les modification pour le fichier functions.php à partir du lisez-moi de la mod utilisée pour avoir la couleur en fonction du goupe 
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Ça veut dire qu'il y a une erreur dans la fonction qui enregistre les utilisateurs, qui doit venir de ton installation de la mod "color usergroup" (que tu as oublié de lister).
Essais de refaire les modification pour le fichier functions.php à partir du lisez-moi de la mod utilisée pour avoir la couleur en fonction du goupe
Il y a deux modification à faire pour le fichier function.php dans le fichier lisez-moi les voilà et c'est les même modification, si vous avez les bonnes modification sa m'aiderai à régler le problème.
#
#---------[ 4. OUVRIR ]--------------------------------------------------------------------------
#
include/functions.php
#
#---------[ 5. RECHERCHER (ligne : 81) ]---------------------------------------------------------
#
// With MySQL/MySQLi, REPLACE INTO avoids a user having two rows in the online table
switch ($db_type)
{
case 'mysql':
case 'mysqli':
$db->query('REPLACE INTO '.$db->prefix.'online (user_id, ident, logged) VALUES('.$pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
default:
$db->query('INSERT INTO '.$db->prefix.'online (user_id, ident, logged) VALUES('.$pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
}
#
#---------[ 6. REMPLACER PAR ]-------------------------------------------------------------------
#
// With MySQL/MySQLi, REPLACE INTO avoids a user having two rows in the online table
switch ($db_type)
{
case 'mysql':
case 'mysqli':
$db->query('REPLACE INTO '.$db->prefix.'online (user_id, ident, logged, color) VALUES('.$pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].', \''.$db->escape($pun_user['g_color']).'\')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
default:
$db->query('INSERT INTO '.$db->prefix.'online (user_id, ident, logged, color) VALUES('.$pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].', \''.$db->escape($pun_user['g_color']).'\')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
}
#
#---------[ 7. RECHERCHER (ligne : 136) ]--------------------------------------------------------
#
// With MySQL/MySQLi, REPLACE INTO avoids a user having two rows in the online table
switch ($db_type)
{
case 'mysql':
case 'mysqli':
$db->query('REPLACE INTO '.$db->prefix.'online (user_id, ident, logged) VALUES(1, \''.$db->escape($remote_addr).'\', '.$pun_user['logged'].')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
default:
$db->query('INSERT INTO '.$db->prefix.'online (user_id, ident, logged) VALUES(1, \''.$db->escape($remote_addr).'\', '.$pun_user['logged'].')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
}
#
#---------[ 8. REMPLACER PAR ]-------------------------------------------------------------------
#
// With MySQL/MySQLi, REPLACE INTO avoids a user having two rows in the online table
switch ($db_type)
{
case 'mysql':
case 'mysqli':
$db->query('REPLACE INTO '.$db->prefix.'online (user_id, ident, logged, color) VALUES(1, \''.$db->escape($remote_addr).'\', '.$pun_user['logged'].', \''.$pun_user['g_color'].'\')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
default:
$db->query('INSERT INTO '.$db->prefix.'online (user_id, ident, logged, color) VALUES(1, \''.$db->escape($remote_addr).'\', '.$pun_user['logged'].', \''.$pun_user['g_color'].'\')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
}Hors ligne
Ce sont celles-ci les bonnes modifications à faire ^ ^. Si tu les as bien faites et que le problèmes continu je ne vois pas trop ce qui ne va pas 
Dernière modification par fanf73 (15-02-2009 18:29:23)
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Merci, j'ai pris un fichier function.php d'origine et j'ai comparer avec le mien et il manquais les lignes suivante :
// With MySQL/MySQLi, REPLACE INTO avoids a user having two rows in the online table
switch ($db_type)
{
case 'mysql':
case 'mysqli':
$db->query('REPLACE INTO '.$db->prefix.'online (user_id, ident, logged) VALUES('.$pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
default:
$db->query('INSERT INTO '.$db->prefix.'online (user_id, ident, logged) VALUES('.$pun_user['id'].', \''.$db->escape($pun_user['username']).'\', '.$pun_user['logged'].')') or error('Unable to insert into online list', __FILE__, __LINE__, $db->error());
break;
}Merci encore j'ai régler le problème grâce a vous .
Hors ligne
Pages : 1