Seite 1 von 1

User Online

Verfasst: 11.03.2005 11:20
von iloveratte1
Hallo, wollte mal nachfragen ob jemand soch ein "MOD" kennt
Ich würde gerne auf der Homepage stehen haben:

- wer Online ist im Forum (namen)
- Wie viele Gäste das Online sind


Später kommt effentuell mal hinzu:

- wie viele im Chat sind


es geht eigentlkich nur um die Oberen 2
und wie bindet man die in eine HTML seite ein? SSI??
wenn es so ein Script überhaupt gibt?


Liebe Grüss aus der schweiz
Stephan

Verfasst: 13.03.2005 20:19
von iloveratte1
Hallo hab da was gefunden, allerdings gibt das script mir folgendes aus:

Insgesamt ist ein Benutzer online:
Insgesamt ist ein Benutzer online: Ein registrierter,
Insgesamt ist ein Benutzer online: Ein registrierter, und kein Gast.


Nicht schlecht wäre wenn es nur

Insgesamt ist ein Benutzer online: Ein registrierter, und kein Gast. anzeigen würde.

und darunter die Usernamen die gerade Online sind.
Ist das überhaupt möglich die usernamen aufzulisten?

hier mal den Code:

Code: Alles auswählen

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = ''; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

include($phpbb_root_path . 'language/lang_german/lang_main.'.$phpEx); 

$logged_visible_online = 0; 
$logged_hidden_online = 0; 
$guests_online = 0; 
$online_userlist = ''; 

$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip 
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." 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 = $db->sql_query($sql)) ) 
{ 
message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql); 
} 

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

$prev_user_id = 0; 
$prev_user_ip = ''; 

while( $row = $db->sql_fetchrow($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'] == ADMIN ) 
{ 
$row['username'] = '<b>' . $row['username'] . '</b>'; 
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"'; 
} 
else if ( $row['user_level'] == MOD ) 
{ 
$row['username'] = '<b>' . $row['username'] . '</b>'; 
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"'; 
} 

if ( $row['user_allow_viewonline'] ) 
{ 
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>'; 
$logged_visible_online++; 
} 
else 
{ 
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>'; 
$logged_hidden_online++; 
} 

if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN ) 
{ 
$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link; 
} 
} 

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

$prev_session_ip = $row['session_ip']; 
} 
$db->sql_freeresult($result); 

if ( empty($online_userlist) ) 
{ 
$online_userlist = $lang['None']; 
} 
$online_userlist = $lang['Registered_users'] . ' ' . $online_userlist; 

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


if ( $total_online_users == 0 ) 
{ 
$l_t_user_s = $lang['Online_users_zero_total']; 
} 
else if ( $total_online_users == 1 ) 
{ 
$l_t_user_s = $lang['Online_user_total']; 
} 
else 
{ 
$l_t_user_s = $lang['Online_users_total']; 
} 

if ( $logged_visible_online == 0 ) 
{ 
$l_r_user_s = $lang['Reg_users_zero_total']; 
} 
else if ( $logged_visible_online == 1 ) 
{ 
$l_r_user_s = $lang['Reg_user_total']; 
} 
else 
{ 
$l_r_user_s = $lang['Reg_users_total']; 
} 

if ( $logged_hidden_online == 0 ) 
{ 
$l_h_user_s = $lang['Hidden_users_zero_total']; 
} 
else if ( $logged_hidden_online == 1 ) 
{ 
$l_h_user_s = $lang['Hidden_user_total']; 
} 
else 
{ 
$l_h_user_s = $lang['Hidden_users_total']; 
} 

if ( $guests_online == 0 ) 
{ 
$l_g_user_s = $lang['Guest_users_zero_total']; 
} 
else if ( $guests_online == 1 ) 
{ 
$l_g_user_s = $lang['Guest_user_total']; 
} 
else 
{ 
$l_g_user_s = $lang['Guest_users_total']; 
} 
echo '<font face=Arial />'; 
echo $l_online_users = sprintf($l_t_user_s, $total_online_users); 
echo '<br />';
echo $l_online_users .= sprintf($l_r_user_s, $logged_visible_online); 
echo '<br />';
echo $l_online_users .= sprintf($l_g_user_s, $guests_online); 
?> 

Ich hoffe das ist machbar.....

Könnten bestimmt auch noch mehrere leute gebrauchen..

Danke für eure hilfe.

Verfasst: 13.03.2005 20:28
von unionerdirk
Verstehe gerade nicht was du suchst. Das ist doch von Anfang an dabei. Oder willst du auf der Indexseite lesen wer in welchem Forum ist?

Verfasst: 14.03.2005 15:42
von iloveratte1
Ich will auf der Hauptseite (nicht Forum) (homepage) sehen wer gerade im Forum ist..

Das ist alles..

Verfasst: 19.03.2005 13:05
von iloveratte1
Sowas muss es doch geben, hab ich nämlichauch schon irgendwo gesehen...

gruss Stephan

Verfasst: 05.04.2005 09:42
von Suebara
Ich habe dazu woanders folgenden Code gefunden

Code: Alles auswählen

<? 
       $guest_users = 0; 
       $logged_in_users = 0; 
       $abfrage = "SELECT session_user_id, session_ip, session_logged_in FROM phpbb_sessions WHERE session_time >= ".( time() - 300 ) . " ORDER BY session_ip"; 
       $ergebnis = mysql_query($abfrage); 
        
       while ($row = mysql_fetch_object($ergebnis)) { 
           if ($row->session_logged_in = '1') { 
               if ($row->session_ip != $prev_ip) { 
                   $logged_in_users++; 
               } 
           } 
           if ($row->session_logged_in = '0') { 
               if ($row->session_ip != $prev_ip) { 
                   $guest_users++; 
               } 
           } 
       $prev_ip = $row->session_ip; 
       } 
?>
Der soll funktionieren. Bei mir kommt da allerdings NIX. :) Vielleicht geht's bei dir?

Verfasst: 05.04.2005 09:50
von Suebara
Habe deinen Code gerade mal ausprobiert. Aber da erscheint auf meiner Seite nur "Hacking attempt".
Wie hast du das umgangen?