Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Wer ist online auf "eigener Seite"
#1
In dem Bereich "Wer ist online?" wird über die "Vollständige Liste" ausgegeben, welcher User sich gerade in welchem Thema befindet.

Ich würde gerne auf einer "Eigenen Seite" die o.a. Funktionsweise nutzen, um danach zu suchen, welcher eingeloggte User sich gerade auf dieser speziellen Seite befindet und das dann auch anzeigen.

Müsste doch prinzipiell machbar sein, oder? Habe mal in der online.php gesucht, bin aber nicht wirklich fündig geworden, wo ermittelt wird, welcher User sich gerade in welchem Thema befindet.

Für einen Tipp wäre ich Euch dankbar. Wink


Edit:
sorry, sehe gerade, dass ich das Thema in die falsche Ecke gestellt habe. Gehört besser unter Anpassungen->Mods und Addons.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#2
Siehe Punkt 5 hier: https://www.mybb.de/forum/thread-20250-p...#pid140833
Oder hier: https://www.mybb.de/forum/thread-9928-po...l#pid77011

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
(04.09.2008, 11:35)Michael schrieb: Siehe Punkt 5 hier: https://www.mybb.de/forum/thread-20250-p...#pid140833

Das ist nicht mehr aktuell, da ältere Version.
Gruß, Micha
=========
Zitieren
#4
ähm, Danke erst einmal für die Antworten, aber ich steh' auf dem Schlauch. Blush

Die o.a. Links zeigen doch nur, wie man eine "Eigene Seite" in der vollständigen Liste von "Wer ist online" sichtbar macht. Das ist nicht das Problem.

Ich möchte auf der neu erstellten Seite quasi eine separate who is online Ausgabe erzeugen, die aber nur die User zeigt, die sich gerade auf dieser Seite befinden.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#5
Dann musst du die Benutzer aus der Tabelle sessions abrufen. Die aufgerufene Datei wird dort auch gespeichert, so dass sich das relativ einfach realisieren lassen sollte.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#6
ich hatte wohl das kleine Wörtchen relativ überlesen... Blush

Ich erhalte alles mögliche als Ergebnis bzw. mit folgendem Code gar keines mehr
PHP-Code:
    $query $db->query("
        SELECT s.uid, s.location, u.uid, u.username
        FROM "
.TABLE_PREFIX."sessions s
        LEFT JOIN "
.TABLE_PREFIX."users u ON (s.uid=u.uid)
        WHERE s.location = '/testforum/kiste.php*'
        ORDER BY u.username DESC
        LIMIT 0,100
    "
);
    while(
$data $db->fetch_array($query))
    {
        
$username "<a href=\"member.php?action=profile&uid={$data['s.uid']}\">".htmlspecialchars_uni($data['u.username'])."</a>&nbsp;-&nbsp;";
        eval(
"\$usernames .= \"".$templates->get("kiste_user")."\";");
    } 
Wie auch immer, etwas sinnvolles erscheint nicht. Wo habe ich denn da meinen Denkfehler?
Mit dem Aufruf der Seite übergebe ich auch die jeweilige UID des Users und deshalb diese Zeile '/testforum/kiste.php*'.

Zu der Sessions-Tabelle noch eine generelle Verständnisfrage. Muss die nicht irgendwann auch mal wieder leer sein, wenn keine User mehr online sind?


@Thai-Tiger:
das passt schon mit der alten Version. Ich hinke dem Trend noch deutlich hinterher. Wink
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#7
(04.09.2008, 22:07)Jockl schrieb: Zu der Sessions-Tabelle noch eine generelle Verständnisfrage. Muss die nicht irgendwann auch mal wieder leer sein, wenn keine User mehr online sind?
Auf den ersten Blick sieht der Query richtig aus. Allerdings solltest du noch eine zeitliche Begrenzung einfügen (z.B. 5 Minuten), denn die session-Tabelle wird nicht geleert, wenn sich ein Benutzer abmeldet. Die Daten werden automatisch nach einem bestimmten Zeitraum (ich glaube es ist 1 Monat) gelöscht.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#8
Mal abgesehen davon, dass ich es leider immer noch nicht hin bekommen habe, die User anzeigen zu lassen, würde das mit der Zeitbegrenzung in etwa so aussehen können?
PHP-Code:
$timestamp time();
    
$query $db->query("
        SELECT s.location, s.time, u.uid, u.username
        FROM "
.TABLE_PREFIX."sessions s
        .......
        LIMIT 0,100
    "
);
    while(
$data $db->fetch_array($query))
    {
        if (
$data['s.time'] - $timestamp <= 60*60*5) {
        
$username "<a href=\"member.php?action=profile.........
        }
    } 
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#9
Ich würde das mit in die Datenbankabfrage einfügen, damit du nicht erst alle Ergebnisse erhältst und dann aussortieren musst.
PHP-Code:
$timestamp time() - 60*60*5;
$query $db->query("
    SELECT s.location, s.time, u.uid, u.username
    FROM "
.TABLE_PREFIX."sessions s
    WHERE s.time > 
{$timestamp}
    ...
"
); 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#10
Erst einmal vielen Dank für den Verbesserungsvorschlag! Für so etwas bin ich immer dankbar! Wink

Im Prinzip funktioniert jetzt so weit alles. Im Prinzip will heißen, dass ab und an anscheinend User "verschluckt" werden oder auch noch nach längerer Zeit angezeigt werden, ob wohl sie schon geraume Zeit ausgeloggt sind. Zusammen mit der "Wer ist online?"-Liste kann man sich aber ein ganz gutes Bild machen.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Weiteres Feld in "Wer ist online" anzeigen lassen NewYorkDiaries 0 1.083 01.03.2019, 10:33
Letzter Beitrag: NewYorkDiaries
  Auf eigener Seite foren hinzufügen lytcraft 5 1.936 03.03.2017, 01:25
Letzter Beitrag: MrBrechreiz
  "Wer ist online?" mit AJAX ? DaStaFlexX 39 14.957 10.02.2017, 12:50
Letzter Beitrag: hkkp
  Wer ist Online - Darstellung Heisenberg 7 2.891 02.01.2017, 22:55
Letzter Beitrag: Heisenberg
  Neueste Themen auf eigener Seite - Status ungelesen abfragen Zwoetzen 13 5.923 16.11.2016, 17:02
Letzter Beitrag: Amaryllion