Volledige versie bekijken : php counter telt bij elke link
kmarien2
%Europe/Berlin %831 %2007, 19:56
ik heb op mijn site een php counter staan en die neemt toe elke keer er vernieuwd wordt of als er op een link geklikt wordt.
dit is de code:
<?php
$fp = fopen("counter.txt","r");
$get = fgets($fp,255);
fclose($fp);
$fw = fopen("counter.txt","w");
$temp = $get+1;
$put = fputs($fw,$get+1);
echo "<div id="teller">U bent bezoeker ".$temp." <br /></div>";
fclose($fw);
?>
is het niet mogelijk dat hij gewoon het aantal verschillende ip's telt zodat bijvoorbeeld elke bezoeker de teller maar met 1 kan verhogen per uur en dat na dat uur hij dat weer kan laten verhogen?
Bargok
%Europe/Berlin %956 %2007, 22:56
Niet de beste methode aangezien ip dynamisch kan zijn.
Maar indien je het wilt, deze stappen doe je:
1. Filename is huidige dag (http://www.php.net/date).
2. kijkt of bestand bestaat (http://www.php.net/file_exists).
3.1 zo ja dan lees je file in een array (http://www.php.net/file).
3.2 zo nee dan maak je file met:
$handle = fopen($filename, "w+");
fwrite($handle, $_SERVER['REMOTE_ADDR']."\r\n");
fclose();
zie stap 7
4. kijkt of $_SERVER['REMOTE_ADDR'] voorkomt in de array (http://www.php.net/in_array).
5.1 zo ja: je doet niets
5.2 zo nee: je voegt een nieuwe entry aan de array toe
$filearray[] = $_SERVER['REMOTE_ADDR'];
6. Je slaat het bestand op met file_put_contents
file_put_contents($filename, implode("\r\n", $filearray);
7. Klaar
Vervolgens kun je unieke bezoekers checken met:
echo count(file($filename));
kmarien2
%Europe/Berlin %700 %2007, 16:48
dat is wel een goed punt dat je hebt met dat dynamisch ip adres.
is het dan mogelijk dat het enkel werkt als de url gewoon index.php is? die URL kan je enkel bekomen als je net aankomt op de site want anders komen er nog "dingen" achter. zou dat dan geen betere methode zijn?
kmarien2
%Europe/Berlin %528 %2007, 12:41
ik heb nog wat zitten nadenken en ik zou de URL willen controleren. de site maakt gebruik van de functie include(); en daar wordt er een waarde gegeven aan tekst. Je bevindt je op de home page als die variable niet bestaat.
ik heb dus de volgende code gemaakt maar er zit een fout in.
dit is de code:
<?php
if (isset($tekst))
{
$fp = fopen("afbeeldingen/counter.txt","r");
$get = fgets($fp,225);
fclose($fp);
$fw = fopen("afbeeldingen/counter.txt","r");
$temp = $get;
echo "<div id='indexteller'>U bent bezoeker ".$temp." <br /></div>";
fclose($fw);
}
else
$fp = fopen("afbeeldingen/counter.txt","r");
$get = fgets($fp,255);
fclose($fp);
$fw = fopen("afbeeldingen/counter.txt","w");
$temp = $get+1;
$put = fputs($fw,$get+1);
echo "<div id='indexteller'>U bent bezoeker ".$temp." <br /></div>";
fclose($fw);
?>
kan iemand die fout eruit halen?
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.