Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 12-02-2009 20:40:13

ForumSwiss
Membre

Actuellement en ligne !!!

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

#2 12-02-2009 23:04:41

fanf73
Wik-wiki

Re : Actuellement en 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

#3 12-02-2009 23:10:45

ForumSwiss
Membre

Re : Actuellement en ligne !!!

fanf73 a écrit :

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

#4 12-02-2009 23:17:27

Defaz
Membre

Re : Actuellement en 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 wink

Hors ligne

#5 12-02-2009 23:46:40

ForumSwiss
Membre

Re : Actuellement en ligne !!!

j'ai pas installer le mod

Hors ligne

#6 13-02-2009 00:00:23

Defaz
Membre

Re : Actuellement en ligne !!!

Pourtant cette ligne n'apparait pas sur mon forum et  cette mod permet de l'afficher smile

Hors ligne

#7 13-02-2009 00:10:54

ForumSwiss
Membre

Re : Actuellement en 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

#8 13-02-2009 01:28:10

Defaz
Membre

Hors ligne

#9 13-02-2009 03:46:25

ForumSwiss
Membre

Re : Actuellement en ligne !!!

Defaz a écrit :

D'autres mods d'installée ?

voila la liste des mods installer
    * Packager
    * PunToolBar
    * Private messaging
    * Publicite
    * Smilies
    * Messagerie personnelle
    * Reputation
    * ChatBox

Hors ligne

#10 13-02-2009 12:30:18

Defaz
Membre

Re : Actuellement en 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

#11 13-02-2009 15:57:52

ForumSwiss
Membre

Re : Actuellement en 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

#12 13-02-2009 16:59:11

fanf73
Wik-wiki

Re : Actuellement en 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

#13 14-02-2009 01:31:51

ForumSwiss
Membre

Re : Actuellement en 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

#14 14-02-2009 17:57:57

ForumSwiss
Membre

Re : Actuellement en ligne !!!

Pas de réponse !!!

ForumSwiss a écrit :

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

#15 14-02-2009 21:00:29

Lyconide
Membre

Re : Actuellement en 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

#16 15-02-2009 00:02:38

ForumSwiss
Membre

Re : Actuellement en 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

#17 15-02-2009 00:55:57

fanf73
Wik-wiki

Re : Actuellement en 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

#18 15-02-2009 02:01:47

ForumSwiss
Membre

Re : Actuellement en ligne !!!

Champ      Type      Interclassement      Attributs      Null      Défaut      Extra   
user_id      int(10)                             UNSIGNED       Non         1

Hors ligne

#19 15-02-2009 12:25:50

Lyconide
Membre

Re : Actuellement en ligne !!!

Ce que tu es en train de nous montrer, c'est la structure de la base (qu'on connait déjà)
structureev4.th.jpg

Ce qu'on voit voir, c'est plutôt le contenu qui ressemble à ca :
contenucf3.th.jpg

(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

#20 15-02-2009 16:06:48

ForumSwiss
Membre

Re : Actuellement en 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

#21 15-02-2009 16:15:09

fanf73
Wik-wiki

Re : Actuellement en 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 wink


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

#22 15-02-2009 17:09:08

ForumSwiss
Membre

Re : Actuellement en ligne !!!

fanf73 a écrit :

Ç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 wink

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

#23 15-02-2009 18:29:13

fanf73
Wik-wiki

Re : Actuellement en 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 huh

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

#24 15-02-2009 18:45:41

ForumSwiss
Membre

Re : Actuellement en 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

Pied de page des forums