hi!
hab ein kleines problem... wollte nun endlich mal meinen eigenen kleinen counter schreiben... soll nach prüfung der gespeicherten ips in ip.txt mit der aktuellen ip den besucherzähler verändern... ohne zeitsperre oder sonstiges...
aber trotz daß die aktuelle ip ordnungsgemäß in der datei abgespeichert wird erkennt er bei gleicher ip das nicht und speichert sie erneut...
meiner meinung nach ist in der schleife zur pfüfung etwas falsch - ich weiß aber nicht was!?
hier das script:
hinweise: counter.txt nur die aktuelle zahl und in ip.txt die ips der bisherigen besucher einzeln auf einer nene zeile
vielen dank!
hab ein kleines problem... wollte nun endlich mal meinen eigenen kleinen counter schreiben... soll nach prüfung der gespeicherten ips in ip.txt mit der aktuellen ip den besucherzähler verändern... ohne zeitsperre oder sonstiges...
aber trotz daß die aktuelle ip ordnungsgemäß in der datei abgespeichert wird erkennt er bei gleicher ip das nicht und speichert sie erneut...
meiner meinung nach ist in der schleife zur pfüfung etwas falsch - ich weiß aber nicht was!?
hier das script:
PHP-Code:
<?php
// externe dateien bestimmen
$counterdatei = 'counter.txt';
$ipdatei = 'ip.txt';
// besucherzahl einlesen
$temp=file($counterdatei);
$besucher=$temp[0];
// ip bestimmen
$ip=$_SERVER['REMOTE_ADDR'];
// gespeicherte ips einlesen
$ips = file($ipdatei);
// ip mit gespeicherten ips vergleichen
$i = 0;
$check = 0;
while ($i <= count($ips))
{
if ($ips[$i] == $ip)
{
$check=1;
break;
}
$i++;
}
// wenn keine übereinstimmung dann besucher erhöhen
if ($check == 0)
{
$besucher++;
}
// besucherzahl speichern
$fp=fopen($counterdatei, 'w');
fwrite($fp, $besucher);
fclose($fp);
// wenn keine übereinstimmung dann ip hinzufügen
if ($check == 0)
{
$fp=fopen($ipdatei, 'a');
fputs($fp, $ip);
fputs($fp, "\n");
fclose($fp);
}
// ausgabe
echo $besucher;
?>
vielen dank!
Kommentar