MyBB.de Forum
Wer War heute online - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Wer War heute online (/thread-734.html)

Seiten: Seiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26


RE: Wer War heute online - FS-Aviator - 29.01.2006

Ich habe jetzt etwas rumprobiert und tatsächlich was erreicht Wink

Leider steht dort aber nur "Wir hatten in den letzten 24 Stunden Besucher". Also keine Zahl.

Ausserdem würde sich der Satz "X Besucher in den letzten 24 Stunden" besser zu der Zahl "1" sowie allem darüber machen. - Ist jedenfalls meine Meinung Wink


RE: Wer War heute online - FS-Aviator - 29.01.2006

Bricktop schrieb:Und statt $num_guests müsste es $num_visitors heißen,.

Danke Bricktop, jetzt klappts! Juhu! *freu*freu*freu*

Big Grin

Wer sich das Ergebnis anschauen möchte: http://forum.fs-aviation.de

Gruß Sascha.


RE: Wer War heute online - Michael - 29.01.2006

Bricktop schrieb:Da Einzahl und Mehrzahl von "Besucher" im deutschen gleich ist, könnte man ja sogar den "elseif { ... }"-Teil rauslassen.
Das ist richtig. Ich hatte erst mit der Anzahl der Gäste rumexperimentiert und davon ist das ein Überbleibsel...Dann ist das uid = '0' im Query auch unnötig. Das Problem ist, dass ein ausgeloggtes Mitglied ebenfalls die ID 0 erhält, daher ist eine Unterscheidung zwischen Gästen und Mitgliedern nicht möglich. Der folgende Code ist ausreichend:
PHP-Code:
$num_visitors $db->num_rows($db->query("SELECT * FROM ".TABLE_PREFIX."sessions WHERE time > ".$stime.""));
    if(
$num_visitors == "0")
    {
    
$visitors_online_today "";
    }
    else
    {
    
$visitors_online_today "In den letzten 24 Stunden hatten wir ".$num_visitors." Besucher";
    } 



RE: Wer War heute online - Dummuser - 10.02.2006

Jippih,

sogar ich habe es dank Eurer Anleitung geschafft und bei mir steht jetzt sofar.
"In den letzten 24 Stunden besuchten Abc dei Dummuser xyz und 4 Gäste dieses Forum."

Jetzt mal eine mathematische Frage:
wenn man nicht zwischen Mitgliedern und Gästen unterscheiden kann, könnte man nicht dann von den Anzahl der Gästen (.$num_visitors.) die Anzahl der Mitglieder (.$num_???).) einfach abziehen? So müsste ja dann ein annähernd richtiges Ergebnis rauskommen?

Weiß ja nicht, ob man das so enstellen kann und vor allem weiß ich nicht WIE!


RE:   Wer War heute online - Susanne - 15.03.2006

Michael schrieb:Der folgende Code ist ausreichend:
PHP-Code:
    $num_visitors $db->num_rows($db->query("SELECT * FROM ".TABLE_PREFIX."sessions WHERE time > ".$stime.""));
    if($num_visitors == "0")
    {
    $visitors_online_today "";
    }
    else
    
{
    $visitors_online_today "In den letzten 24 Stunden hatten wir ".$num_visitors." Besucher";
    

Genau das habe ich in die index.php gesetzt. Und in der index_whosonline steht jetzt auch
$visitors_online_today
Jetzt sehe ich zwar die Namen von denen die online waren, aber das "In den letzten 24 Stunden hatten wir..." ist nigendwo zu sehen.
Warum bloß? Ugly


RE: Wer War heute online - Michael - 16.03.2006

Hast du die Anleitung exakt befolgt? Bitte gehe diese nochmal durch um Fehler auszuschließen.


RE: Wer War heute online - Jochen2003 - 16.03.2006

Michael das Ganze ist für mich jetzt auch erstmal verwirrend, kann man das nochmal ins reine setzten aber ohne die Frage (vollständige Liste anzeigen) löschen, weil die Übersicht wird von einigen verwendet


RE: Wer War heute online - Michael - 16.03.2006

Zusammenfassung

Wer war in den letzten 24 Stunden auf der Startseite anzeigen

1. Datei index.php öffnen und suchen nach:
PHP-Code:
    eval("\$whosonline = \"".$templates->get("index_whosonline")."\";"); 
Davor einfügen:
PHP-Code:
  $stime time()-(60*60*24);
    $query $db->query("SELECT u.* FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."usergroups g ON (g.gid=u.usergroup) WHERE u.lastactive > $stime ORDER BY u.lastactive DESC");
    $todaycomma '';
    $onlinetoday '';
    while($online $db->fetch_array($query))
    {
        if($online['invisible'] != "yes" || $mybb->usergroup['canviewwolinvis'] == "yes")
        {
            if($online['invisible'] == "yes")
            {
                $invisiblemark "*";
            }
            else
            
{
                $invisiblemark "";
            }
            $onlinetoday .= $todaycomma.formatname($online['username'], $online['usergroup'], $online['displaygroup']).$invisiblemark;
            $todaycomma ', ';
        }
    
Template index_whosonline öffnen und am Ende einfügen:
Code:
<tr>
<td class="trow2"><span class="smalltext">Wer war in den letzten 24 Stunden online?<br />$onlinetoday </span></td>
</tr>

Anzahl der Besucher der letzten 24 Stunden auf der Startseite anzeigen

1. Datei index.php öffnen und suchen nach:
PHP-Code:
    eval("\$whosonline = \"".$templates->get("index_whosonline")."\";"); 
Davor einfügen:
PHP-Code:
    $num_visitors $db->num_rows($db->query("SELECT * FROM ".TABLE_PREFIX."sessions WHERE time > ".$stime.""));
    if($num_visitors == "0")
    {
    $visitors_online_today "";
    }
    else
    
{
    $visitors_online_today "In den letzten 24 Stunden hatten wir ".$num_visitors." Besucher";
    
Template index_whosonline öffnen und die Variable $visitors_online_today an die Stelle einfügen, an der die Ausgabe erfolgen soll.


RE: Wer War heute online - Susanne - 16.03.2006

Erst mal was anderes. In meinem alten Board war die Anzeige so wie hier weiter oben gewünscht, nämlich, dass sie sich jeden Tag erneuert hat. Bedeutet, Mitternacht wurde geleert, und danach neu gezählt.
Vielleicht bringt es was, wenn ich den Mod mal schicke, nur so für den Aha-Effekt. Big Grin


Ja, ich habe jetzt noch mal (zum 4. Mal) alles überprüft und ich habe es wirklich genau richtig gemacht. Sad Ich habe es vor
PHP-Code:
eval("\$whosonline = \"".$templates->get("index_whosonline")."\";"); 
gesetzt, aber es wird eindeutig nix angezeigt.
Habe in meine index_whosonline auch einfach mal nur um zu testen noch diese Zeile angehängt.
PHP-Code:
<tr>
<
td class="trow2"><span class="smalltext">In den letzten 24 Stunden<br />$visitors_online_today</span></td>
</
tr
Aber auch so wird nichts angezeigt, bis auf das "In den letzten 24 Std.".
Und ich habe dieses $visitors_online_today wirklich schon an allen anderen Plätzen der index_whosonline gehabt. Nixnixnix. Sad



Kann es vielleicht sein, dass dieses $visitors_online_today erst mal einen Tag da stehen muss - oder zumindest eine Zeit lang - bis da was angezeigt wird?


RE: Wer War heute online - Michael - 16.03.2006

Kannst du diesen Code:
PHP-Code:
$num_visitors $db->num_rows($db->query("SELECT * FROM ".TABLE_PREFIX."sessions WHERE time > ".$stime.""));
    if(
$num_visitors == "0")
    {
    
$visitors_online_today "";
    }
    else
    {
    
$visitors_online_today "In den letzten 24 Stunden hatten wir ".$num_visitors." Besucher";
    } 
bitte so ändern:
PHP-Code:
$query $db->query("SELECT COUNT(*) AS numusers FROM ".TABLE_PREFIX."sessions WHERE time > ".$stime."");
    
$num_visitors $db->fetch_array($query);
    if(
$num_visitors['numusers'] == "0")
    {
    
$visitors_online_today "";
    }
    else
    {
    
$visitors_online_today "In den letzten 24 Stunden hatten wir ".$num_visitors['numusers']." Besucher";
    } 
Zu deiner Frage: Nein, der Code funktioniert sofort. Solltest du die erste Änderung, also die Anzeige der Benutzer, nicht eingebaut haben, funktioniert der Code alleine nicht. Dann musst du an den Anfang vor den Query folgendes hinzufügen:
PHP-Code:
$stime time() - 86400