Jak zrobić licznik?


(Marcingxp) #1

Witam. Jak mogę zrobić licznik na stronę, którego wyniki będą wyświetlane na innej stronie?


(floyd) #2

Jakiś pierwszy lepszy licznik, a jego wartości zapisywać na serwerze np. w pliku tekstowym.

Na innej stronie odczytywać wartość z tego pliku tekstowego i umieszczać na stronie.

Trudniejsza sprawa gdyby się chciało aby na tej drugiej stronie była automatyczna aktualizacja licznika.

Należało by wówczas skorzystać z funkcji Ajaxa i odczytywać ten plik tekstowy np. co 2 sekundy.


(Marcingxp) #3

Pierwszy, lepszy licznik? Czyli jaki? Mógłbyś podać jakiegoś linka, bo nie wiem który wybrać :frowning:


(floyd) #4

Najprostszy licznik w PHP to:

<?

$ip=$_SERVER['REMOTE_ADDR']; 

$adres=" ***.***. ***.***";//Twoje IP aby nie były liczone Twoje wejścia.

$plik="licznik.txt";

$file=fopen($plik, "r");

flock($file, 1);

$ile=fgets($file, 100);

flock($file, 3);

fclose($file);

if($ip != $adres )

{

$ile++;

$file=fopen($plik, "w");

flock($file, 2);

fwrite($file, $ile);

flock($file, 3);

fclose($file);

}

?>

(Marcingxp) #5

Czy mogę po prostu usunąć linijkę z $adres, bo mam zmienne ip?


(floyd) #6

oczywiście, że można usunąć. Kod w PHP umieszczont na początku strony będzie taki:

<? php

$ip=$_SERVER['REMOTE_ADDR']; 

$plik="licznik.txt";

$file=fopen($plik, "r");

flock($file, 1);

$ile=fgets($file, 100);

flock($file, 3);

fclose($file);

$ile++;

$file=fopen($plik, "w");

flock($file, 2);

fwrite($file, $ile);

flock($file, 3);

fclose($file);

?>

i w innym miejscu na stronie:

<?php echo $ile; ?>

Na innej zaś stronie tylko wczytywanie

<? php $plik="licznik.txt";

$file=fopen($plik, "r");

flock($file, 1);

$ile=fgets($file, 100);

flock($file, 3);

fclose($file);

echo $ile;

?>

(Marcingxp) #7

Jak zrobić kilka takich liczników, które będą zapisywane w jednym pliku licznik.txt? Pytam, bo mi nie odpowiada robienie 5 rożnych plików textowych.