Strona 1 z 1
Statystyki odporne na odświeżanie
: 04 października 2006, 16:21
autor: jaroslw
Witam,
Stworzyłem sobie prosty licznik odwiedzin. Nie potrafię jednak już samemu uczynić go odpornym na odświeżenia. Przykład na
http://www.gim2samorzad.yoyo.pl W menu includuje plik licznik.php Oto jego kod:
Kod: Zaznacz cały
<?php
$adres='licznik.txt';
if (file_exists($adres)) $t=file($adres);
else $t=array(0);
$t[0]++;
if ($plik=fopen($adres,'w'))
{
flock($plik,LOCK_EX);
fputs($plik,$t[0]);
flock($plik,LOCK_UN);
fclose($plik);
}
echo($t[0]);
?>
Liczba wejść zapisywana jest w pliku tekstowym.
Co mam dodać aby nie zliczało odświeżeń?
: 04 października 2006, 16:57
autor: daroPL
Kod: Zaznacz cały
<?php
$adres='test.txt';
if(file_exists($adres)) $t=file($adres);
else $t=array(0);
if(!isset($_COOKIE['licznik']))
{
setcookie("licznik", "zliczono", time()+3600);
$t[0]++;
if ($plik=fopen($adres,'w'))
{
flock($plik,LOCK_EX);
fputs($plik,$t[0]);
flock($plik,LOCK_UN);
fclose($plik);
}
}
echo $t[0];
?>
time()+3600 - czas przez który ciasteczko będzie istniało, po godzinie jeżeli odświeżysz strone doda kolejne zliczenie i tak dalej

musiałem wyczyścić trochę temat bo nie mogłem patrzeć na moje byki ;P
: 04 października 2006, 17:14
autor: jaroslw
daro pisze:time()+3600 - czas przez który ciasteczko będzie istniało, po godzinie jeżeli odświeżysz strone doda kolejne zliczenie i tak dalej Smile
No i taka opcja by mi pasowała
daro pisze:musiałem wyczyścić trochę temat bo nie mogłem patrzeć na moje byki ;P
Nie ma sprawy.
Jest jedno ale. Ta wersja również nie działa. Co więcej pojawił się błąd:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/sites/yoyo.pl/g/i/gim2samorzad/index.php:6) in /var/www/sites/yoyo.pl/g/i/gim2samorzad/licznik.php on line 7
4
gdzie liczba 4 to liczba odwiedzin, jednak dalej nie jest odporne na odświeżenia.
EDIT: dodam jeszcze że nie ma tego ciasteczka na liście kiedy przeglądam je w przeglądarce. Może to pomoże.
: 04 października 2006, 17:30
autor: daroPL
Nagłówki zostały już przesłane...
Na samym początku wyświetlanej strony daj:
i na końcu strony:
Poczytaj:
http://wiki.php.pl/index.php/Cannot_add ... dy_sent_by...
http://webmade.org/porady/porady.php?id=142
: 04 października 2006, 17:33
autor: jaroslw
Dzięki, teraz już gra. Sam bym sobie z tym nie poradził bo nie znam jeszcze na tyle PHP.
[ Dodano: 16 Grudzień 2006, 10:02 ]
Witam, przepraszam, że odświeżam temat ale raczej nie ma sensu zakładać nowego. Więc chciałbym przerobić te statystyki tak, aby ilość odwiedzin była zapisywana bazie danych, a nie w pliku tekstowym. Co miałbym przerobić?