Anzahl onlineuser anzeigen auf startseite!

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

..ich bin im Moment irgendwie überfragt. Das Script mag ned, das ma a vollen Pfad angibt, was Du ja machen musst da sich Seite und Board auf verschiedenen Servern befinden. :-?
Warren
Mitglied
Beiträge: 491
Registriert: 29.12.2002 13:41
Wohnort: Stäfa - CH
Kontaktdaten:

Beitrag von Warren »

ich glaube, was net stimmt ist, dass irgendwo noch ein parameter auf die lokale seite verweist, siehst du den irgendwo??

der müsste dann ja auch http://www..... sein
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

nein... also zuerst musst du mal in der online.php folgendes

Code: Alles auswählen

$phpbb_root_path = "http://www.thatrix.net/tensing/"; //path to below files!!!! 
druch folgendes ersetzen

Code: Alles auswählen

$phpbb_root_path = "./"; //path to below files!!!! 
und dann fügst du noch am ende der online.php vor ?> folgendes ein:

Code: Alles auswählen

echo $onlinet;
dann öffnest du deine index.php und löscht folgendes:

Code: Alles auswählen

<?php include('http://www.thatrix.net/tensing/online.php'); ?> 
dann suchst du noch nach

Code: Alles auswählen

echo $onlinet;
und ersetzt es durch

Code: Alles auswählen

include('http://www.thatrix.net/tensing/online.php');
dann sollte die sache funktioneren...

ah
Warren
Mitglied
Beiträge: 491
Registriert: 29.12.2002 13:41
Wohnort: Stäfa - CH
Kontaktdaten:

Beitrag von Warren »

kann mir jemand diesen code so verändern, dass der Parameter $onlinet nur: "Zurzeit sind xx Benutzer online!" ausgiebt!

Code: Alles auswählen

<?php
define('IN_PHPBB', true);

$phpbb_root_path = "./"; //path to below files!!!! 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX, $session_length); 
init_userprefs($userdata); 

$user_forum_sql = ( !empty($forum_id) ) ? "AND ( u.user_session_page = $forum_id 
   OR s.session_page = $forum_id)" : ""; 

$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 ) . " 
         OR u.user_session_time >= " . ( time() - 300 ) . " ) 
      $user_forum_sql 
   ORDER BY u.username ASC"; 
$result = $db->sql_query($sql); 
if(!$result) 
{ 
   message_die(GENERAL_ERROR, "Couldn't obtain user/online information.", "", __LINE__, __FILE__, $sql); 
} 

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

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

$prev_user_id = 0; 
$prev_session_ip = 0; 

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($phpbb_root_path."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($phpbb_root_path."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; 
         } 
      } 
   } 
   else 
   { 
   		if( $row['session_ip'] != $prev_session_ip ){
                   $guests_online++; 
   		}  
   } 

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

if( empty($online_userlist) ) 
{ 
   $online_userlist = $lang['None']; 
} 
$online_userlist = ( ( isset($forum_id) ) ? $lang['Browsing_forum'] : $lang['Registered_users'] ) . " " . $online_userlist; 

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

if($total_online_users > $board_config['record_online_users']) 
{ 
   $sql = "UPDATE " . CONFIG_TABLE . " 
      SET config_value = '$total_online_users' 
      WHERE config_name = 'record_online_users'"; 
   if( !$result = $db->sql_query($sql) ) 
   { 
      message_die(GENERAL_ERROR, "Couldn't update online user record (nr of users)", "", __LINE__, __FILE__, $sql); 
   } 

   $sql = "UPDATE " . CONFIG_TABLE . " 
      SET config_value = '" . time() . "' 
      WHERE config_name = 'record_online_date'"; 
   if( !$result = $db->sql_query($sql) ) 
   { 
      message_die(GENERAL_ERROR, "Couldn't update online user record (date)", "", __LINE__, __FILE__, $sql); 
   } 

   $board_config['record_online_users'] = $total_online_users; 
   $board_config['record_online_date'] = time(); 
} 

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']; 
} 

$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); 

$onlinet="$l_online_users<br>$online_userlist<br>"; 
echo $onlinet;
?>
Warren
Mitglied
Beiträge: 491
Registriert: 29.12.2002 13:41
Wohnort: Stäfa - CH
Kontaktdaten:

Beitrag von Warren »

sollte doch eigentlich net soo schwer sein...bitte....

denn zurzeit wird folgendes ausgegeben....


Zurzeit sind keine Benutzer online :: kein registrierter, kein versteckter und kein Gast.
Registrierte Benutzer: Keine
Warren
Mitglied
Beiträge: 491
Registriert: 29.12.2002 13:41
Wohnort: Stäfa - CH
Kontaktdaten:

Beitrag von Warren »

könnte nicht jemand so nett sein, und mir kurz helfen????
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

du wirrst du wengistens 24 stunden warten können...
also die anzahl wird in der variable $total_online_users gespiechert eigendlich musst du dann nur

Code: Alles auswählen

echo "Zurzeit sind $total_online_users Benutzer online!";
für das

Code: Alles auswählen

echo $onlinet;
reinschreiben...

ah
Warren
Mitglied
Beiträge: 491
Registriert: 29.12.2002 13:41
Wohnort: Stäfa - CH
Kontaktdaten:

Beitrag von Warren »

vielen dank, so funktionierts, aber kann ich irgendwie mache, das anstatt 0 keine steht und das wenn ein benutzer online ist, anstatt "Zurzeit sind 1 Benutzer online!", "Zurzeit ist 1 Benutzer online!" steht?
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

ersetz das

Code: Alles auswählen

echo "Zurzeit sind $total_online_users Benutzer online!"; 
druch

Code: Alles auswählen

 if ( $total_online_users == 0 )
{ 
echo "Zurzeit sind keine Benutzer online!"; 
}
else if ( $total_online_users == 1 )
{ 
echo "Zurzeit ist 1 Benutzer online!"; 
}
else
{ 
echo "Zurzeit sind $total_online_users Benutzer online!"; 
}
Warren
Mitglied
Beiträge: 491
Registriert: 29.12.2002 13:41
Wohnort: Stäfa - CH
Kontaktdaten:

Beitrag von Warren »

jup, super!!! thanks
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“