Seite 1 von 1

Modul "User online"

Verfasst: Di 2. Sep 2003, 16:51
von Reinhard
hallo!

ich hab mir soeben das modul "user online" heruntergeladen und in die seite integriert.

es geht bestens, nur die standardschriftgröße stört etwas. frage: als nicht-php-kundiger kann ich leider die schriftgröße nicht ändern.

wenn ich von der werten gemeinde einen diesbezüglichen tipp bekommen könnte, wäre ich sehr dankbar dafür!

lg
Reinhard

Verfasst: Mo 8. Sep 2003, 14:36
von stony
poste doch mal das modul mit input und output!

Verfasst: Di 9. Sep 2003, 06:40
von Reinhard
stony hat geschrieben:poste doch mal das modul mit input und output!
danke für den hinweis!

also das modul, das übrigens gut funktioniert, sieht so aus:


Modulname : User-Online
Beschreibung : Zeigt an wieviel User sich gerade auf der
Website aufhalten.

Installation : Die Datei useronline.dat muss in das Verzeichnis CMS kopiert
werden, die Schreibrechte für die Datei auf CHMOD 777 gesetzt
werden.

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : User-Online
* Author : Michael Reske
* Copyright : Micress
* Created : 16-06-2003
* Modified : 16-06-2003
************************************************/

Source

<?php
# Zeit in Sekunden bis neu gezählt wird
$online = "60";

# Die Datei in der die IP und zeit gespeichert werden
$datei = "useronline.dat";

$zeit = time();
$fp = fopen($datei, "r");
$daten = "";
$count = "1";
$online = $zeit - $online;

while($zeilen = fgets($fp, 1000)){
$zeilen = chop($zeilen);
$inhalt = explode("|", $zeilen);
if($inhalt[0] == $REMOTE_ADDR || $inhalt[1] < $online || $inhalt[0] == "")
continue;
$daten = "$inhalt[0]|$inhalt[1]\n";
$count++;
}
fclose($fp);

$daten .= "$REMOTE_ADDR|$zeit\n";
$fp = fopen($datei, "w");
flock($fp,1);
fwrite($fp, $daten);
flock($fp,3);
fclose($fp);
if ($count=="1") {
echo "$count User ist online";
} else {
echo "$count User sind online";
}
?>

Verfasst: Di 9. Sep 2003, 18:48
von stony
Reinhard hat geschrieben:danke für den hinweis!

also das modul, das übrigens gut funktioniert, sieht so aus:
danke für den hinweis? habe doch noch garnix gemacht :>
Reinhard hat geschrieben: echo "$count User ist online";
} else {
echo "$count User sind online";
für mich sieht das einfach nach einer ausgabe aus! also würde ich sagen liegt das problem bei dir! wenn du da wo du es auch immer einsetzt eine gewissen größe angibst wird die ausgabe genausogroß!

also wenn du jetzt z.b. in dein css

Code: Alles auswählen

.counter { font-size: 9px; }
eingibst und um das modul einfach

Code: Alles auswählen

<p class="counter">CMS_Container6 oder wie auch immer </p>
sollte es funktionieren!

DANKE!

Verfasst: Mi 10. Sep 2003, 12:44
von Reinhard
danke, stony, ein toller tipp, genau das war's!
ciao
Reinhard

Verfasst: Mi 13. Okt 2004, 08:08
von imuhcs
also bei mir funktioniert das user online script überhaupt nicht.
das modul schreibt auch nix in die datei useronline.dat rein!!

Verfasst: Mi 13. Okt 2004, 08:26
von Halchteranerin
imuhcs hat geschrieben:das modul schreibt auch nix in die datei useronline.dat rein!!
ist die Datei ueberhaupt beschreibbar (im Zweifelsfall muss sie die Rechte 777 haben)?

immer nur maximal 3 Benutzer werden angezeigt

Verfasst: Mo 25. Apr 2005, 16:55
von Panda25
Hallo Leute,

habe die Benutzeranzeige ("user online") installiert, die soweit auch funktioniert, aber:

Es sind immer nur maximal drei Benutzer, die angezeigt werden.

Es werden niemals mehr als 3 Benutzer angezeigt, auch wenn es 5 sind oder noch mehr.
Anhand der Serverstatistik habe ich nachgesehen, in einem Falle waren 16 Benutzer auf der Seite, 3 wurden aber wieder nur angezeigt.

Kann sich das jemand erklären oder hat jemand einen Rat für mich?? :cry:

Vielen Dank im voraus.

Panda25

Verfasst: Mo 25. Apr 2005, 17:30
von HerrB
Möglicherweise:

Die Serverstatistik ermittelt meines Wissens nur die Anzahl unterschiedlicher Nutzer, die die Seite an dem Tag aufgerufen haben (korrigiere mich jemand, wenn ich falsch liege), aber nicht, wieviele sich gleichzeitig die selbe Seite angesehen haben.

Außerdem ist eine Zeitsteuerung integriert, die ich nicht so ganz verstanden habe (flüchtiger Blick), aber ich denke, dass wenn in den letzten 60 Sekunden keiner die Seite neu geladen hat bzw. neu hinzukommt, neu gezählt wird.

Gruß
HerrB

Danke...

Verfasst: Mo 25. Apr 2005, 22:05
von Panda25
... für deine Antwort.
Also ich habe noch mal nachgesehen und alles im Detail verglichen und eben haben wir noch mal den Text gemacht:

Es sind definitiv sehr oft im Abstand von nur 5 oder 10 Sekunden mehr als 5 verschiedenen IP-Adressen auf der Seite gewesen, er ("user online") hat aber nur maximal 3 angezeigt.

Haben gerade den Test gemacht:

5 Kumpels von mir haben dieselbe Seite zur gleichen Zeit (koordiniert via Skype, also quasi in Echtzeit, es waren alle in einer Gruppenunterhaltung) aufgerufen, die "user online"-Anzeige ging nie über 3 hinaus.

Auch der Blick in den Serverlog bestätigt:
Gleichzeitig oder aber im Abstand von maximal 2 Sekunden wurde dieselbe Seite von insgesamt 6 verschiedenen Rechnern (und somit 6 verschiedenen IP-Adressen) aufgerufen, zu keinem Zeitpunkt wurden mehr als 3 Benutzer angezeigt.

Da bin ich mit meinem Latein am Ende, kann mir hier noch jemand einen heißen Rat geben, woran sowas liegen kann??

Gibt es vielleicht eine neue Version dieses Moduls??

Bin für jede Hilfe dankbar und bedanke mich bereits im voraus für die Hilfe.

Uwe

Verfasst: Mo 25. Apr 2005, 23:31
von HerrB
Nein, eine Idee habe ich nicht wirklich. Neue Version des Moduls ist unwarscheinlich, V4.3 ist ja nicht mehr so ganz frisch.

So ganz durchschaue ich den Code auch nicht, zugegeben.

Diese Zeile hat es in sich:

Code: Alles auswählen

if($inhalt[0] == $REMOTE_ADDR || $inhalt[1] < $online || $inhalt[0] == "") 
continue;
Sobald die eigene Adresse gefunden wird, zeitlich "alte" Einträge auftreten oder die Datei leer ist, startet der Zähler neu. Das mit der eigenen Adresse finde ich seltsam - habe ich mir die Seite als erster angesehen und dann kommen innerhalb von 60 Sekunden andere ich gucke in der Zeit auch noch mal rein, beginnt die Zählung wieder.

Nun ja, ich verstehe es noch nicht so 100%ig, tut mir leid.

Gruß
HerrB