Page 1 of 1
User online zähler?
Posted: Thu 11. Aug 2005, 15:35
by Clericer
Hallo,
wie erstellt man eigendlich einen User online zähler?
Wie man in dem Beispiel unten sehen kann meine ich keinen Counter der die Gesamtbesucherzahl misst.
Ein Beispiel:
http://www.weitzelmedia.de
(rechts ganz nach unten scrollen)
Vielen dank im vorraus für die Hilfe
Clericer
Posted: Thu 11. Aug 2005, 15:45
by cyrano
Hallo,
weitzelmedia ist keine wcms Seite und der Counter ist anders integriert.
versuche mal das hier:
Code: Select all
php-Code:
Code:
<?PHP
//-------------------------------------------------------------
// artmedic useronline 1.0 || http://www.artmedic.de
// Copyright (C) 2002 Ellen Baitinger, artmedic webdesign
// This Software is distributed under the GNU General Public
// License.
//-------------------------------------------------------------
$daten="besucher.txt";
$time = time();
$ip = getenv("REMOTE_ADDR");
$ablaufzeit = "$time"-"300";
$pruefung = @file($daten);
while (list ($line_num, $line) = @each ($pruefung))
{$zeiten = explode("&&",$line);
if($zeiten[0] <= $ablaufzeit)
{$fp = fopen( "$daten", "r" );
$contents = fread($fp, filesize($daten));
fclose($fp);
$line=quotemeta($line);
$string2 = "";
$replace = ereg_replace($line, $string2, $contents);
$fh=fopen($daten, "w");
@flock($fp,2);
fputs($fh, $replace);
@flock($fp,3);
fclose($fh);}}
$ippruefung = @file($daten);
while (list ($line_num, $line) = @each ($ippruefung))
{$ips = explode("&&",$line);
if($ips[1] == $ip)
{$fp = fopen( "$daten", "r" );
$contents = fread($fp, filesize($daten));
fclose($fp);
$line=quotemeta($line);
$string2 = "";
$replace = ereg_replace($line, $string2, $contents);
$fh=fopen($daten, "w");
@flock($fp,2);
fputs($fh, $replace);
@flock($fp,3);
fclose($fh);}}
$fp = fopen("$daten", "a+");
flock($fp,2);
fputs ($fp, "$time&&$ip&&\n");
flock($fp,3);
fclose ($fp);
$anzahldaten = file($daten);
$anzahl = count($anzahldaten);
echo "<font face=\"Arial, Helvetica, sans-serif\" size=\"1\">$anzahl User online</font>";
?>
Erstelle noch eine leere Textdatei "besucher.txt" und lade beide in das Hauptverzeichnis von Deiner wcms-Installation, Rechte auf 644 setzen und einbinden mit
Code:
{PHP:counter.php}
.
Ich habe es in meine Vorlagen in die Fuszeile eigefügt - funktioniert bestens :-)
Grüße
Thomas
Posted: Thu 11. Aug 2005, 15:47
by jscholtysik
Hi Clericer,
also ich habe zwei Dateien:
online.php mit folgendem Inhalt:
Code: Select all
<?
$count=0;
$date = date("d.m.Y/H:i:s");
$ip = getenv(REMOTE_ADDR);
$text=$date."###".$ip."\n";
$filename="online.txt";
$zeile = file($filename);
$fp = fopen($filename , "w");
ftruncate ($fp, 0);
rewind($fp);
foreach($zeile as $schreiben)
{
$array = explode("###",$schreiben);
if($ip==rtrim($array[1])){$vorhanden=1;}
if($array[0] > $time -600 & $ip!=$array[1])
{
fwrite ($fp, $schreiben, 750);
}
}
fclose($fp);
$id = filesize($filename);
if($vorhanden!=1 or $id==0){
$datei = fopen($filename,"a");
flock($datei,2);
fwrite($datei,$text,750);
flock($datei,3);
fclose($datei);
}
for($x=0;$x<count($zeile);$x++){$count=$count+1;}
echo $count;echo ' User online';
?>
und eine
online.txt, die aber leer ist.
Die online.php habe ich folgendermaßen in mein Template eingebunden:
Code: Select all
Zur Zeit sind [PHP]include("http://www.scholtysik.net/scripte/user_online/online.php");[/PHP]
In die online.txt werden folgende Infos reingeschrieben:
11.08.2005/00:01:32###213.252.2.22, d.h. Datum/Uhrzeit###IP
Kannst Du Dir ja mal auf
http://www.scholtysik.net/cms/index.php rechts unten im Footer anschauen.
Joachim
Posted: Thu 11. Aug 2005, 15:55
by Clericer
WOW danke

,
das ging aber schnell danke schonmal, ich werde mich dann mal ans ausprobieren begeben.
Clericer
Posted: Thu 11. Aug 2005, 16:07
by cyrano
@ joachim:
ist deine Version sinnvoller als die von mir gelistete?
Auch hinsichtlich der Anzeige der realen User und des Timeouts?
Posted: Thu 11. Aug 2005, 16:10
by jscholtysik
Hi cyrano,
bei meiner Version wird
- kein User in die Textdatei reingeschrieben, wenn er schon mal eingetragen worden ist.
- der User wird erst nach 10 Minuten wieder eingetragen
(das ist das, was ich aus der PHP-Datei lese...

)
Joachim
Posted: Thu 11. Aug 2005, 16:15
by Clericer
Besten dank

,
ich habe einfach mal die Version von jscholtysik ferwendet.
Fertig und funzt gut.
Clericer
Posted: Thu 11. Aug 2005, 16:17
by cyrano
ok, danke Dir.