Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
"Wer ist online?" mit AJAX ?
#1
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
Zitieren
#2
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.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
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
Zitieren
#4
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!
Zitieren
#5
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)
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#6
Okay .... aber das mit der php-Datei und dem echo versteh ich nicht. Big Grin
Zitieren
#7
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;
?>
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#8
Danke dir!!!

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

LG, GM!
Zitieren
#9
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
Zitieren
#10
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>
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Weiteres Feld in "Wer ist online" anzeigen lassen NewYorkDiaries 0 1.070 01.03.2019, 10:33
Letzter Beitrag: NewYorkDiaries
  Wer ist Online - Darstellung Heisenberg 7 2.845 02.01.2017, 22:55
Letzter Beitrag: Heisenberg
  Wer ist online auf eigens erstellten seiten Bodoboo 2 1.574 25.09.2015, 14:01
Letzter Beitrag: Bodoboo
  Wer ist online - Geistmodus hkkp 4 2.250 16.05.2014, 08:35
Letzter Beitrag: hkkp
  Wer ist online und wer war online stimmen nicht überein Chacarron 6 4.067 11.10.2011, 23:20
Letzter Beitrag: Chacarron