Skocz do zawartości

[PHP] Licznik gości online


Sevox

Recommended Posts

Witam, mam taki problem, ponieważ mam stronę w html (index.html) . I chciałbym do tego indexu dodać skrypt php wyświetlający aktualną liczbę gości na stronie. Tylko problem tkwi w tym, że ja nie mam na swojej stronie jeszcze funkcji użytkowników. Czy da się zrobić tak, że wykrywa jakoś po ip czy jak czy ktoś jest na stronie? Znalazłem taki skrypt :

<?
		 $plik = "online.txt";
			 $czas = 60;
				 $t = time();
			 $ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];	
		 $u = explode("\n", str_replace("\r", "", @join("", @file($plik))));
		 foreach($u as $i => $v) {
			 $e = explode("|", $v);
			 if($e[0] == $ip || $e[1] < $t) unset($u[$i]);
		 }
		 $u[] = $ip . "|" . ($t + $czas);
		 $fp = fopen($plik, "w");
			 flock($fp, 2);
				 fputs($fp, join("\n", $u));
			 flock($fp, 3);
		 fclose($fp);
		 echo 'Teraz online: '.count($u);
	?>

Ale nie za bardzo wiem jak ja mam go zastosować do swojego index.html żeby mi się na stronie wyświetlił.

Link do komentarza
Udostępnij na innych stronach

Po stronie klienta nie można zliczyć użytkowników strony. Musi to być wykonane na serwerze, a więc potrzebujesz licznika np. w PHP.

Zakładam, że Twój serwer obsługuje PHP, a więc:

1. zapisz powyższy kod jako licznik.php

2. wejdź na stronę licznik.php i sprawdź czy wyświetla ilość osób online (1 lub 0)

3. aby wstawić kod php na stronę html zmień rozszerzenie pliku index.html na index.php

3*. jeśli chciałyś utrzymać rozszerzenie .html zainteresuj się .htaccess

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś treść z formatowaniem.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Wczytywanie...
×
×
  • Utwórz nowe...