Welche Member sind online?

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
simon-1991-14
Mitglied
Beiträge: 127
Registriert: 23.04.2006 18:38

Welche Member sind online?

Beitrag von simon-1991-14 »

wie kann ich (außerhalb von phpbb) sehen, welche mitglieder online sind?
simon-1991-14
Mitglied
Beiträge: 127
Registriert: 23.04.2006 18:38

Beitrag von simon-1991-14 »

weiß es denn keiner?
Benutzeravatar
Jan500
Ehemaliges Teammitglied
Beiträge: 4199
Registriert: 01.03.2003 21:32
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Jan500 »

hi
<?php

mysql_connect('localhost', 'db_user', 'db_pass') or die("Keine Verbindung möglich: " . mysql_error());

mysql_select_db('datenbank');

$result = mysql_query("SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
FROM phpbb_users u, phpbb_sessions s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
ORDER BY u.username ASC, s.session_ip ASC");

if (!$result) {
die('Daten konnten nicht abgerufen werden: ' . mysql_error());
}

$online_userlist = '';
$userlist_ary = array();
$userlist_visible = array();

$prev_user_id = 0;


while( $row = mysql_fetch_array($result) )
{
// User is logged in and therefor not a guest
if ( $row['session_logged_in'] )
{
// Skip multiple sessions for one user
if ( $row['user_id'] != $prev_user_id )
{
$style_color = '';
if ( $row['user_level'] == '1' )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#FF0000"';
}
else if ( $row['user_level'] == '2' )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#008000"';
}

if ( $row['user_allow_viewonline'] )
{
$user_online_link = "<a href=\"http://www.domain.tld/ordner/profile.php?mode=viewprofile&u=" . $row['user_id'] . "\"" . $style_color .">" . $row['username'] . "</a>";



$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
}
}

$prev_user_id = $row['user_id'];
}


}


if ( empty($online_userlist) )
{
$online_userlist = "Es sind keine registrierten User online";
}



?>
du musst noch ändern:
  • evtl localhost
  • db_user
  • db_pass
  • die datenbank, aufm server
  • die farben der admins bzw mod (im moment ist admin rot und mod grün) wenn du willst
  • http://www.domain.tld/ordner/ muss deiner domain und dem ordner angepasst werden, wo dein Forum liegt
$online_userlist ist die Variable, die die liste mit den Usern beinhaltet

Jan
"Life begins at 40 Knots...!" :D
kein (kostenlosen) Support per pn, mail, icq usw. | Kostenlosen Support gibt es hier im Forum!
simon-1991-14
Mitglied
Beiträge: 127
Registriert: 23.04.2006 18:38

Beitrag von simon-1991-14 »

ui, danke!
simon-1991-14
Mitglied
Beiträge: 127
Registriert: 23.04.2006 18:38

Beitrag von simon-1991-14 »

und wie kann ich sehen, wie viele gerade on sind?
Benutzeravatar
Jan500
Ehemaliges Teammitglied
Beiträge: 4199
Registriert: 01.03.2003 21:32
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Jan500 »

<?php

mysql_connect('localhost', 'db_user', 'db_pass') or die("Keine Verbindung möglich: " . mysql_error());

mysql_select_db('datenbank');

$result = mysql_query("SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
FROM phpbb_users u, phpbb_sessions s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
ORDER BY u.username ASC, s.session_ip ASC");

if (!$result) {
die('Daten konnten nicht abgerufen werden: ' . mysql_error());
}

$online_userlist = '';
$userlist_ary = array();
$userlist_visible = array();

$prev_user_id = 0;


while( $row = mysql_fetch_array($result) )
{
// User is logged in and therefor not a guest
if ( $row['session_logged_in'] )
{
// Skip multiple sessions for one user
if ( $row['user_id'] != $prev_user_id )
{
$style_color = '';
if ( $row['user_level'] == '1' )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#FF0000"';
}
else if ( $row['user_level'] == '2' )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#008000"';
}

if ( $row['user_allow_viewonline'] )
{
$user_online_link = "<a href=\"http://www.domain.tld/ordner/profile.ph ... profile&u=" . $row['user_id'] . "\"" . $style_color .">" . $row['username'] . "</a>";

$logged_visible_online++;

$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
}
else
{

$logged_hidden_online++;
}
}

$prev_user_id = $row['user_id'];
}
else
{
// Skip multiple sessions for one user
if ( $row['session_ip'] != $prev_session_ip )
{
$guests_online++;
}
}


}


if ( empty($online_userlist) )
{
$online_userlist = "Es sind keine registrierten User online";
}

$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;


if ( $total_online_users == 0 )
{
$l_t_user_s = 'Insgesamt sind <b>0</b> Benutzer online: ';
}
else if ( $total_online_users == 1 )
{
$l_t_user_s = 'Insgesamt ist <b>ein</b> Benutzer online: ';
}
else
{
$l_t_user_s = 'Insgesamt sind <b>%d</b> Benutzer online: ';
}

if ( $logged_visible_online == 0 )
{
$l_r_user_s = 'Kein registrierter, ';
}
else if ( $logged_visible_online == 1 )
{
$l_r_user_s = 'Ein registrierter, ';
}
else
{
$l_r_user_s = '%d registrierte, ';
}

if ( $logged_hidden_online == 0 )
{
$l_h_user_s = 'kein versteckter und ';
}
else if ( $logged_hidden_online == 1 )
{
$l_h_user_s = 'ein versteckter und ';
}
else
{
$l_h_user_s = '%d versteckte und ';
}

if ( $guests_online == 0 )
{
$l_g_user_s = 'kein Gast.';
}
else if ( $guests_online == 1 )
{
$l_g_user_s = 'ein Gast.';
}
else
{
$l_g_user_s = '%d Gäste.';
}

$l_online_users = sprintf($l_t_user_s, $total_online_users);
$l_online_users .= sprintf($l_r_user_s, $logged_visible_online);
$l_online_users .= sprintf($l_h_user_s, $logged_hidden_online);
$l_online_users .= sprintf($l_g_user_s, $guests_online);



?>
$l_online_users ist die variable für die anzeige wieviele da sind

Jan
"Life begins at 40 Knots...!" :D
kein (kostenlosen) Support per pn, mail, icq usw. | Kostenlosen Support gibt es hier im Forum!
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“