MyBB.de Forum

Normale Version: "Wer ist online?" mit AJAX ?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hi Leude

Hier bei mybbcoder.de habt ihr ne "Wer ist online?" Box,
läuft die mit AJAX ?

Wenn ja, wo gibts sowas ?
Und kann man das auch auf der Startseite unten
bei den Forenstatistiken einbauen ?

bis gli...
greetz DaStaFlexX
Alle diese Blöcke rechts und links hier im Forum werden per AJAX geladen. Das habe ich selber für dieses Forum programmiert.
Im Prinzip kann man alles per AJAX laden lassen. Der Aufwand ist aber größer wie der Nutzen.
Ich finde es extrem Fett was du da gemacht hast ! Wink

Dann könnte man es also auch mit "Wer ist online?" so machen !
...mhm... wie nice Smile

büüüdeee, kann das nicht jemand umsetzten ?

ich habe ka von ajax ! Sad
ich weiss nur das es sau geil ist Wink

bis gli...
greetz DaStaFlexX
Hallöchen!

Ich würde das auch gerne wissen!!!
Hab bei mir im Forum auch die "Wer ist Online?"-Liste auf den Index in 'ner Box übertragen, aber die aktualisiert natürlich nicht von selbst, was ich sehr schade finde.

Dragon, teile doch bitte dein Wissen!

LG, GM!
Hier eine Anleitung mit den Grundfunktionen:
Erstellt die Datei wio.php. Dort schreibt hier den Code rein, der geladen werden soll. Dieser soll mit echo ausgegeben werden.
Macht um den Teil, der aktualisiert werden soll, <div id="wio">TEXT DER SCHON DA IST</div>.
Nun schreibt ihr in ein Template (z.B. index):
Zitat:<script type="text/javascript">
<!--
function wio_load()
{
new ajax('wio.php', {method: 'get', update: 'wio'});
}
wio_load();
setInterval("wio_load()", 60000);
//-->
</script>
Die farbigen Sachen können angepasst werden. Allerdings muss dann alles mir der Farbe angepasst werden. Die orange Zahl gibt an, wie oft geladen wird. (in Tausendstel-Sekunden)
Okay .... aber das mit der php-Datei und dem echo versteh ich nicht. Big Grin
In die Datei muss der Code rein, den du haben willst. In diesem Fall der Code, der die anwesenden Benutzer ausliest:
PHP-Code:
<?php
define
("IN_MYBB"1);
define("NO_ONLINE"1);
require 
"./global.php";
// Get the online users.
    
$timesearch time() - $mybb->settings['wolcutoffmins']*60;
    
$comma '';
    
$query $db->query("
        SELECT s.sid, s.ip, s.uid, s.time, s.location, u.username, u.invisible, u.usergroup, u.displaygroup
        FROM "
.TABLE_PREFIX."sessions s
        LEFT JOIN "
.TABLE_PREFIX."users u ON (s.uid=u.uid)
        WHERE s.time>'
$timesearch'
        ORDER BY u.username ASC, s.time DESC
    "
);
    
$membercount 0;
    
$onlinemembers '';
    
$guestcount 0;
    
$anoncount 0;
    
$doneusers = array();

    
// Loop through all users.
    
while($user $db->fetch_array($query))
    {
        
// Create a key to test if this user is a search bot.
        
$botkey strtolower(str_replace("bot="''$user['sid']));

        
// Decide what type of user we are dealing with.
        
if($user['uid'] > 0)
        {
            
// The user is registered.
            
if($doneusers[$user['uid']] < $user['time'] || !$doneusers[$user['uid']])
            {
                
// If the user is logged in anonymously, update the count for that.
                
if($user['invisible'] == "yes")
                {
                    ++
$anoncount;
                }
                ++
$membercount;
                if(
$user['invisible'] != "yes" || $mybb->usergroup['canviewwolinvis'] == "yes" || $user['uid'] == $mybb->user['uid'])
                {
                    
// If this usergroup can see anonymously logged-in users, mark them.
                    
if($user['invisible'] == "yes")
                    {
                        
$invisiblemark "*";
                    }
                    else
                    {
                        
$invisiblemark '';
                    }

                    
// Properly format the username and assign the template.
                    
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
                    eval(
"\$onlinemembers .= \"".$templates->get("index_whosonline_memberbit"10)."\";");
                    
$comma ", ";
                }
                
// This user has been handled.
                
$doneusers[$user['uid']] = $user['time'];
            }
        }
        elseif(
strstr($user['sid'], "bot=") !== false && $session->bots[$botkey])
        {
            
// The user is a search bot.
            
$onlinemembers .= $comma.format_name($session->bots[$botkey], $session->botgroup);
            
$comma ", ";
            ++
$botcount;
        }
        else
        {
            
// The user is a guest.
            
++$guestcount;
        }
    }
echo 
$onlinemembers;
?>
Danke dir!!!

Hat klasse geklappt! Jetzt muß ich nicht mehr die gesamte Seite laden, damit ich weiß, wer Online ist! *freu*

LG, GM!
Hi zusammen

Ich habe das eben auch eingebaut.
Nur wird bei mir nichts angezeigt !

Kann ich den unten genannten php-code direkt so übernehmen ?

Und:
Zitat:Macht um den Teil, der aktualisiert werden soll, <div id="wio">TEXT DER SCHON DA IST</div>.
Ist damit der inhalt vom "index_whosonline" Template gemeint ?

Zitat:Nun schreibt ihr in ein Template (z.B. index):
Wo genau soll ich den <script type="text/javascript"> einfügen ?

Wäre nett wenn mir da noch jemand weiterhelfen könnte.

bis gli...
greetz DaStaFlexX
Du kannst den PHP-Code so übernehmen.

Im Template index_whosonline {$onlinemembers} mit <div id="wio">{$onlinemembers}</div> ersetzen.
Den Script-Code setzt du am besten nach (Template index):
Code:
{$forumstats}
</tbody>
</table>
Seiten: 1 2 3 4