also ein gutes gästebuch gibt es
hier, und einen besucherzähler habe ich dir hier zu bieten:
[php:1:155de02f1a]
<?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=1;
// 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.' Besucher online.
';
echo 'Seit dem 23. März 2005 waren '.$counter.' Besucher auf dieser Seite.
';
echo 'Größte Zahl gleichzeitiger Besucher war am '.date("d.m.Y", $counter_max[0]).' mit '.$counter_max[1].' Besuchern.';
?>[/php:1:155de02f1a]
reicht das?