PHP: Script aktuelle Besucher online
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktion
aufruf
benutzer
blicken
code
dank
datei
eintragen
gelten
genau sagen
http
jemand
kleines programm
letzten aktion
list
minute
optimierung
session
vermutung
zugriff
-
Hallo Zusammen,
Ich such jetzt bestimmt schon seit ner halben Stunde nach nem einfachen PHP Script, dass mir anzeigt wie viele Benutzer gerade aktuell online sind, mehr nicht. Hab aber bisher nichts brauchbares gefunden entweder sind die Scripts zu kompliziert oder man hat keinen Zugriff auf den Source.
Könnt ihr mir helfen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
wenn du mit session id\'s arbeitest mach doch einfach das eine neue Session ID ein neuer benutzer ist wenn einer sich abmeldest wird einer vom counter gemacht so will ich es auch machen für mein forum.
-
Hi,
du kannst nie genau sagen, wieviele Leute online sind. HTTP ist ein Zustandsloses Protokoll, daher kannst du nur Vermutungen darüber anstellen, ob jemand online ist. Genau sagen kannst du es nicht. Aber die einfachste Möglichkeit ist, wie bereits gesagt, mit Sessions zu arbeiten. Lass dir in eine DB eintragen wer sich eingeloggt hat und trage die aus, die sich ausgeloggt haben oder deren Sessions abgelaufen sind.
Yazurah -
mit ajax könnte man nen kleines programm schreibseln, welches schaut ob jemand online ist oder nicht..
Ansonsten kann man auch IP und den timestamp der letzten Aktion von Besucher xy speichern und sagen, alle die in den letzten 5 minuten eine Aktion gemacht haben, gelten als Online und immer wenn ne neue Aktion gemacht wird zb neuer Seiten aufruf, dann wird der Timestamp aktualisiert.. ;) -
Meinst du so etwas:
http://www.g-orgus.de/homepage-optimierung/php-scripte/user-online-script.php
ist aber ohne Gewähr, ich habs selber nicht getestet.
Malia -
Also das hier
$ip = getenv(\"REMOTE_ADDR\");
weiß ich nicht ob das funktioniert, ich würds mit $ip = $_SERVER[\'REMOTE_ADDR\']; machen. Ansonsten scheint das Skript aber ganz ordentlich zu sein.
Beitrag geändert: 19.3.2008 16:19:10 von pinguinfreund -
Also das hier
$ip = getenv(\"REMOTE_ADDR\");
weiß ich nicht ob das funktioniert, ich würds mit $ip = $_SERVER[\'REMOTE_ADDR\']; machen. Ansonsten scheint das Skript aber ganz ordentlich zu sein.
Beitrag geändert: 19.3.2008 16:19:10 von pinguinfreund
Sollte beides funktionieren. Allerdings gibt es noch weitere mögliche Einträge in $_SERVER in der die IP stehen könnte.
Bei Interesse PN an mich.
MfG Lucas -
dies habe ich mal in eine seite von mir eingebunden:
<?php /********************************** * by Michael Müller *************** * Dieser Hinweis darf nicht ******* * entfernt werden ***************** **********************************/ $datei = \"include/counter/useronline.dat\"; $min = 5; $time = time() - $min*60; $current_ip = $_SERVER[\'REMOTE_ADDR\']; // alte Beiträge löschen if(file_exists($datei)) { $lines = file($datei); foreach($lines as $key=>$data) { list($ip, $timest) = explode(\"|\", $data); if(trim($timest) < $time || trim($ip) == $current_ip) { unset($lines[$key]); } } } $lines[] = $current_ip.\"|\".time().\"\\r\\n\"; $save = implode(\"\", $lines); $handle = fopen($datei, \"w\"); fputs($handle, $save); fclose($handle); $user = count($lines); echo \"User: $user\"; ?>
müsste sich eigentlich von allein erklären ;) speichert timestamp und ip der letzten 5 minuten und löscht die älteren, somit hast du immer eine genaue zahl wer die letzten 5 die seite aufgerufen hat. und das ganze funktioniert ohne mysql, einfach nur mit ner datei, die du auch umbennen kannst
-
Hier gibts ein schön erklärtes mit DB: http://tut.php-quake.net/online.html ;)
-
Hier gibts ein schön erklärtes mit DB: http://tut.php-quake.net/online.html ;)
Danke, sieht übersichtlich aus. Ich werds mal durcharbeiten. Wenn ichs je nicht blicken sollte greife ich eben auf die Oben genannten Scripts zurück.
Danke nocheinmal für eure Hilfe. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage