who is online op website
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

who is online op website
Zoals de titel het al zecht wil ik graag op mijn website hebben staan hoeveel er online zijn wie weet hiervoor de juiste syntax ?
Sla de volgende code op in een map (vb mods) in je phpbb root folder.
Het eerste bestand: stats.php
Dan op je website, op de pagina waarje die zaken wilt weergeven zeg je helemaal boven aan (dus nog voor <head>):Wel ff het path aanpassen (Hier staat het script in phpBB/mods/stats.php maar bij jou kan dit anders zijn)
Je kan deze zaken oproepen met dit script:
- $stats['total_posts'] = Totaal aantal posts op je forum
- $stats['total_users'] = Totaal aantal gebruikers op je fourm
- $stats['user_online'] = Aantal gebruikers online
- $stats['user_id'] = ID van nieuwste lid
- $stats['username'] = gebruikersnaam van nieuwste lid
Om deze stats nu te gebruiken doe je het volgende. Op de plaats waar je de statistiek wilt zetten zet je dit stukje code (zelfde volgorde als hierboven, laatste 2 staan samen):
Dit is code die ik gebruik (en dus werkt). Mss zijn er nu wel enkele foutjes ingeslopen bij het copy/paste werk, want het script zat goed verwerkt in de site. Dit script toont dus zowat statistieken, is dat wat je wou?
Een script die echt de leden zelf toont (zoals bij who's online, op het forum zelf) heb ik ook nog staan anders.
Mochten er vragen zijn, laat gerust maar weten.
Het eerste bestand: stats.php
Code: Selecteer alles
<?php
if (!defined('IN_PHPBB')){ die ('hacking attempt'); }
function phpbb_raise_error($message = null, $file = null, $line = null){
global $CFG;
switch ($CFG['on_error']){
case 'redirect':
if ($CFG['redirect']){
header ('Location: ' . $CFG['redirect']);
}else{
$CFG['on_error'] = 'die';
phpbb_raise_error($message, $file, $line);
}
break;
case 'phpbb':
message_die(GENERAL_MESSAGE,
'<b>phpbb Fetch All error:</b> ' . $message, '', __FILE__, __LINE__);
break;
default:
die ('<tt><b>phpbb Fetch All error:</b> ' . $message . ' at ' . $file . ':' . $line . '</tt>');
}
exit;
}
function phpbb_fetch_row($sql = null){
global $db;
if (!$sql){
return;
}
$query = phpbb_query($sql);
$result = $db->sql_fetchrow($query);
return $result;
}
function phpbb_fetch_rows($sql = null){
global $db;
if (!$sql){
return;
}
$query = phpbb_query($sql);
$result = array();
while ($row = $db->sql_fetchrow($query)){
$result[] = $row;
}
return $result;
}
function phpbb_query($sql = null){
global $db;
if (!$query = $db->sql_query($sql)){
phpbb_raise_error('database query failed', __FILE__, __LINE__);
}
return $query;
}
function phpbb_fetch_stats(){
global $db;
$result = array();
$result['total_posts'] = get_db_stat('postcount');
$result['total_users'] = get_db_stat('usercount');
$newest_user = get_db_stat('newestuser');
$result['user_id'] = $newest_user['user_id'];
$result['username'] = $newest_user['username'];
$sql = 'SELECT
session_id
FROM
' . SESSIONS_TABLE . '
WHERE
session_time >= ' . (time() - 300);
$user_online = phpbb_fetch_rows($sql);
$result['user_online'] = count($user_online);
return $result;
}
?>
Code: Selecteer alles
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include_once ('phpBB/mods/stats.' . $phpEx);
$stats = phpbb_fetch_stats();
Je kan deze zaken oproepen met dit script:
- $stats['total_posts'] = Totaal aantal posts op je forum
- $stats['total_users'] = Totaal aantal gebruikers op je fourm
- $stats['user_online'] = Aantal gebruikers online
- $stats['user_id'] = ID van nieuwste lid
- $stats['username'] = gebruikersnaam van nieuwste lid
Om deze stats nu te gebruiken doe je het volgende. Op de plaats waar je de statistiek wilt zetten zet je dit stukje code (zelfde volgorde als hierboven, laatste 2 staan samen):
Code: Selecteer alles
- <?= $stats['total_posts']; ?> forum posts
- <?= $stats['total_users']; ?> registered users
- <?= $stats['user_online']; ?> <?= ($stats['user_online'] == 1) ? 'person' : 'persons' ?> browsing the site
- <a href="phpbb/profile.php?mode=viewprofile&u=<?= $stats['user_id'] ?>"><?=$stats['username'] ?></a>
Een script die echt de leden zelf toont (zoals bij who's online, op het forum zelf) heb ik ook nog staan anders.
Mochten er vragen zijn, laat gerust maar weten.
Cheers, w0lfie
» w0lfie.be
» Access - The Party Concept!
» w0lfie.be
» Access - The Party Concept!