A
alex
Guest
hi also ich habe eine Onlinestatistik bei mir eingebaut mit folgendem code:
CODE
<?php
// wie lange gilt wird eine ip nicht als neuer besucher gewertet (in minuten)
$t_counter=120;
// wie lange gilt besucher als online (in minuten)
$t_user_online=20;
// pfad zum besucherzaehler
$p_counter='counter.log';
// pfad zur datei, die maximale zahl gleichzeitiger nutzer speichert
$p_counter_max='counter_max.log';
// pfad zur datei, die die ips des besucherzaehlers speichert
$p_ips_counter='ips_counter.log';
// pfad zur datei, die die ips der aktuell auf der seite befindlichen user speichert
$p_ips_user_online='ips_user_online.log';
// nicht vorhandene dateien erstellen
// wenn dateien vorhanden sind und skript einwandfrei laeuft, dann diese zeilen auskommentieren (// davor)
if (!file_exists($p_counter))
{ $fh=fopen($p_counter, 'w'); fwrite($fh, "0"); fclose($fh); }
if (!file_exists($p_counter_max))
{ $fh=fopen($p_counter_max, 'w'); fwrite($fh, time().'#0'); fclose($fh); }
if (!file_exists($p_ips_counter))
{ $fh=fopen($p_ips_counter, 'w'); fclose($fh); }
if (!file_exists($p_ips_user_online))
{ $fh=fopen($p_ips_user_online, 'w'); fclose($fh); }
// daten einlesen
$temp=file($p_counter); $counter=$temp[0];
$temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
$ips_counter=file($p_ips_counter);
$ips_user_online=file($p_ips_user_online);
$ip=$_SERVER['REMOTE_ADDR'];
// user online - noch gueltige ips raussuchen
$i=0; $j=0; $ip_exists=0;
while ($i < count($ips_user_online))
{
$temp=explode('#', trim($ips_user_online[$i]));
if (time() < $temp[0]+$t_user_online*60)
{
$ips[$j]=$ips_user_online[$i]; $j++;
// wenn ip des aktuellen besuchers gefunden, dann vermerken
if ($temp[1]==$ip) { $ip_exists=1; }
}
$i++;
}
// wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
{ $ips[$i]=time().'#'.$ip; }
// anzahl felder von $ips entspricht anzahl der user online
$user_online=count($ips);
// wenn aktuelle zahl besucher groesser als letztes maximum, dann ueberschreiben und neu einlesen
if ($user_online>$counter_max[1])
{
$fh=fopen($p_counter_max, 'w');
fwrite($fh, time().'#'.$user_online);
fclose($fh);
$temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
}
// die ips speichern
$fh=fopen($p_ips_user_online, 'w');
fwrite($fh, join("\n", $ips));
fclose($fh);
// besucherzaehler - noch gueltige ips raussuchen
$i=0; $j=0; $ip_exists=0;
while ($i < count($ips_counter))
{
$temp=explode('#', trim($ips_counter[$i]));
if (time() < $temp[0]+$t_counter*60)
{
$ips[$j]=$ips_counter[$i]; $j++;
// wenn ip des aktuellen besuchers gefunden, dann vermerken
if ($temp[1]==$ip) { $ip_exists=1; }
}
$i++;
}
// wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
{
$ips[$i]=time().'#'.$ip;
$counter++;
$fh=fopen($p_counter, 'w');
fwrite($fh, $counter);
fclose($fh);
}
// die ips speichern
$fh=fopen($p_ips_counter, 'w');
fwrite($fh, join("\n", $ips));
fclose($fh);
// ausgabe der besucherdaten
echo 'Es sind '.$user_online.' Nutzer online.<br>';
echo 'Sie sind Besucher Nr.'.$counter.'<br>';
echo 'Max. User online waren'.date("d.m.Y", $counter_max[0]).' mit '.$counter_max[1].;
?>
das problem ist in dreamweaver zeigt er mir in der dabell in der ich ihn eingefügt habe nichts an (nur das php zeichen) wenn ich dann aber auf dem webserver die domain aufrufe sehe ich nur den code und nicht das was er eigentlich zeigen soll
ich muss dazu sagen das keine der dateien wie conter.log vorhanden sind da sie ja vom program erstellt werden falls nicht vorhanden...
Wär cool wenn mir einer eine Lösung geben könnte, danke schonmal mfg alex
CODE
<?php
// wie lange gilt wird eine ip nicht als neuer besucher gewertet (in minuten)
$t_counter=120;
// wie lange gilt besucher als online (in minuten)
$t_user_online=20;
// pfad zum besucherzaehler
$p_counter='counter.log';
// pfad zur datei, die maximale zahl gleichzeitiger nutzer speichert
$p_counter_max='counter_max.log';
// pfad zur datei, die die ips des besucherzaehlers speichert
$p_ips_counter='ips_counter.log';
// pfad zur datei, die die ips der aktuell auf der seite befindlichen user speichert
$p_ips_user_online='ips_user_online.log';
// nicht vorhandene dateien erstellen
// wenn dateien vorhanden sind und skript einwandfrei laeuft, dann diese zeilen auskommentieren (// davor)
if (!file_exists($p_counter))
{ $fh=fopen($p_counter, 'w'); fwrite($fh, "0"); fclose($fh); }
if (!file_exists($p_counter_max))
{ $fh=fopen($p_counter_max, 'w'); fwrite($fh, time().'#0'); fclose($fh); }
if (!file_exists($p_ips_counter))
{ $fh=fopen($p_ips_counter, 'w'); fclose($fh); }
if (!file_exists($p_ips_user_online))
{ $fh=fopen($p_ips_user_online, 'w'); fclose($fh); }
// daten einlesen
$temp=file($p_counter); $counter=$temp[0];
$temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
$ips_counter=file($p_ips_counter);
$ips_user_online=file($p_ips_user_online);
$ip=$_SERVER['REMOTE_ADDR'];
// user online - noch gueltige ips raussuchen
$i=0; $j=0; $ip_exists=0;
while ($i < count($ips_user_online))
{
$temp=explode('#', trim($ips_user_online[$i]));
if (time() < $temp[0]+$t_user_online*60)
{
$ips[$j]=$ips_user_online[$i]; $j++;
// wenn ip des aktuellen besuchers gefunden, dann vermerken
if ($temp[1]==$ip) { $ip_exists=1; }
}
$i++;
}
// wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
{ $ips[$i]=time().'#'.$ip; }
// anzahl felder von $ips entspricht anzahl der user online
$user_online=count($ips);
// wenn aktuelle zahl besucher groesser als letztes maximum, dann ueberschreiben und neu einlesen
if ($user_online>$counter_max[1])
{
$fh=fopen($p_counter_max, 'w');
fwrite($fh, time().'#'.$user_online);
fclose($fh);
$temp=file($p_counter_max); $counter_max=explode('#', $temp[0]);
}
// die ips speichern
$fh=fopen($p_ips_user_online, 'w');
fwrite($fh, join("\n", $ips));
fclose($fh);
// besucherzaehler - noch gueltige ips raussuchen
$i=0; $j=0; $ip_exists=0;
while ($i < count($ips_counter))
{
$temp=explode('#', trim($ips_counter[$i]));
if (time() < $temp[0]+$t_counter*60)
{
$ips[$j]=$ips_counter[$i]; $j++;
// wenn ip des aktuellen besuchers gefunden, dann vermerken
if ($temp[1]==$ip) { $ip_exists=1; }
}
$i++;
}
// wenn aktuelle ip nicht gefunden wurde ($ip_exists==0) oder alle entsorgt wurden, dann diese hinzufuegen
if (!isset($ips) && $ip_exists==1 || $ip_exists==0)
{
$ips[$i]=time().'#'.$ip;
$counter++;
$fh=fopen($p_counter, 'w');
fwrite($fh, $counter);
fclose($fh);
}
// die ips speichern
$fh=fopen($p_ips_counter, 'w');
fwrite($fh, join("\n", $ips));
fclose($fh);
// ausgabe der besucherdaten
echo 'Es sind '.$user_online.' Nutzer online.<br>';
echo 'Sie sind Besucher Nr.'.$counter.'<br>';
echo 'Max. User online waren'.date("d.m.Y", $counter_max[0]).' mit '.$counter_max[1].;
?>
das problem ist in dreamweaver zeigt er mir in der dabell in der ich ihn eingefügt habe nichts an (nur das php zeichen) wenn ich dann aber auf dem webserver die domain aufrufe sehe ich nur den code und nicht das was er eigentlich zeigen soll
ich muss dazu sagen das keine der dateien wie conter.log vorhanden sind da sie ja vom program erstellt werden falls nicht vorhanden...
Wär cool wenn mir einer eine Lösung geben könnte, danke schonmal mfg alex