Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Jak sprawdzić ilość osób na stronie?
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Jak sprawdzić ilość osób na stronie?
Technologie webowe

Jak sprawdzić ilość osób na stronie?

WebInside.pl
Ostatnia aktualizacja: 25.07.2003
WebInside.pl
Udostępnij
Udostępnij

Dzięki temu tutorialowi nauczysz się jak sprawdzić ile w danym momencie jest użytkowników na Twojej stronie. Skrypt bazuje na bazie danych MySQL, lecz po drobnej przeróbce można go oprzeć również na plikach tekstowych.

Zawartość
Opis działania skryptuKod skryptu

Opis działania skryptu

Nie da się dokładnie określić ile osób w danej chwili przegląda nasze strony, lecz można podąć tą liczbę w przybliżeniu. Np. ile osób było na stronie w ciągu ostatnich 60 sekund. W momencie gdy internauta wchodzi na naszą stronę, skrypt pobiera jego numer IP, czas w którym wszedł na stronę i nazwę pliku w którym jest umieszczony nasz skrypt. Te dane zostają zapisane w odpowiednio przygotowanej tabeli w bazie danych MySQL.

Następnie skrypt analizuje rekordy znajdujące się w bazie danych – jeśli istnieje choć jeden wpis o dacie większej niż ustalony limit (np. 60 sekund), to zostaje on automatycznie usunięty. Teraz zliczane są wszystkie wpisy o różnych numerach IP (w celu wyeleminowania podwójnego zliczania pojedyńczych osób) i liczba ta jest wyświetlana na stronie. Skomplikowane? Napewno nie. Więc zabierzmy się za analizę kodu.

Kod skryptu

Na początek musimy utworzyć tabelę:

CREATE TABLE IleOnline ( czas int(15) DEFAULT '0′ NOT NULL, ip varchar(40) NOT NULL, plik varchar(100) NOT NULL, PRIMARY KEY (czas), KEY ip (ip), KEY plik (plik) );

A teraz zaczynamy pisać główny kod. Na początek ustalamy namiary na naszą bazę danych – odpowiednio host, login, haslo i nazwa bazy dancyh. Następnie podajemy limit czasu w jakim musiały nastąpić odwiedziny (od wywołania skryptu) by zostały zliczone. Wartość podajemy w sekundach. Po ustaleniu tych danych dowiadujemy się od której godziny dane są zliczane (przypisujemy to do zmiennej $czas_zliczanych). Adresu dokumentu ani IP nie przypisujemy do zmiennej, gdyż mamy je w odpowiednich zmiennych środowiskowych: $PHP_SELF i $REMOTE_ADDR.

<?php $host = „localhost”; $login = „mojLogin”; $haslo = „mojeHaslo”; $baza = „mojaBaza”; $limit = 60; $czas_aktualny = time(); $czas_zliczanych = $czas_aktualny – $limit;

Po przypisaniu do zmiennych potrzebnych nam danych, możemy wziąść się za cały mechanizm. Zaczynamy od zainicjowania połączenia z MySQL-em i wybraniu bazy dancyh.

mysql_connect($host, $login, $haslo); mysql_select_db($baza);

Dodajemy teraz informacji o osobie, która ogląda stronę na której umieszczamy skrypt – wywołującej go.

$dodaj = mysql_query(„INSERT INTO IleOnline VALUES (’$czas_aktualny’,’$REMOTE_ADDR’,’$PHP_SELF)”); /* Tu możemy umieścić informację dla skryptu jak ma się zachować jeśli akcja się nie powiedzie itp. Np. if(!$dodaj) echo”Wystąpił błąd przy dodawaniu danych”; */

Usuwamy wpisy osób, które odwiedziły stronę wcześniej niż dopuszczone jest to przez ustalony limit.

$usun = mysql_query(„DELETE FROM IleOnline WHERE czas<$czas_zliczanych”); /* Tu możemy umieścić informację dla skryptu jak ma się zachować jeśli akcja się nie powiedzie itp. Np. if(!$usun) echo”Wystąpił błąd przy usuwaniu danych”; */

Teraz przyszedł czas by pobrać informacje ile osób jest on-line. Mamy do wyboru dwie opcje – w całym serwisie bądź na tej stronie z której wywołany został skrypt. Oczywiści przy opcji cały serwis, liczone są wszystie strony na której umieszczony jest skrypt. Przypomnę, że do pobrania tylko i wyłącznie różnych wartości w SQL-u, służy słowo kluczowe DISTINCT.

$wynik_serwis = mysql_query(„SELECT DISTINCT ip FROM IleOnline”); $wynik_strona = mysql_query(„SELECT DISTINCT ip FROM IleOnline WHERE plik=’$PHP_SELF'”); /* Tu możemy umieścić informację dla skryptu jak ma się zachować jeśli akcja się nie powiedzie itp. Np. if(!$wynik_serwis) echo”Wystąpił błąd przy pobieraniu danych dla całego serwisu”; if(!$wynik_strona) echo”Wystąpił błąd przy pobieraniu danych dla tej strony”; */

Zliczamy zwrócone wiersze, które dadzą nam liczbę osób przebywających on-line w naszym serwisie oraz na danej stronie.

$user1 = mysql_num_rows($wynik_serwis); $user2 = mysql_num_rows($wynik_strona); /* No i wyświetlamy wyniki na stronie */ If($user1 == 1) { print(„$user1 osoba jest online w serwisie – jesteś nią Ty!n
„); } else { print(„$user1 użytkowników jest online w serwisien
„); } If($user2 == 1) { print(„$user1 osoba jest online na tej stronie – jesteś nią Ty!n
„); } else { print(„$user1 użytkowników jest online na tej stronien
„); } ?>

W ten sposób możesz sprawdzać ilość osób online w całym Twoim serwisie jak i na konkretnej stronie. Do tego kodu można dopisać jeszcze wiele kodu ulepszającego jego działanie (rozpoznawanie IP przez proxy, lepszą obsługę błędów itp.) – w tym już Twoja głowa. Wszelkie pytania odnośnie systemu proszę kierować na forum.

Może Cię zainteresować

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

Serwer dla małej firmy – czym kierować się przy jego wyborze?

WebInside.pl 2003-07-25 2003-07-25
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Data ostatniej modyfikacji pliku
Następny artykuł Ciekawszy odnośnik
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Procesor AMD Ryzen 7
Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
Technologie
Jak przygotować sklep internetowy na automatyzację obsługi klienta?
Artykuły partnerskie
the nvidia logo is displayed on a table
Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
AI Aktualności
Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?
E-marketing
4 najczęstsze cyberzagrożenia w przemyśle
Technologie
Jak uratować zaschnięty tusz do drukarki? Skuteczne domowe sposoby i porady
Poradniki
Model 3D jako wspólne źródło danych dla projektu, produkcji i montażu
Artykuły partnerskie
Dlaczego wideo z telefonu sprzedaje na TikToku lepiej niż profesjonalne spoty?
Artykuły partnerskie
Dwa ekrany zawsze pod ręką – zalety korzystania z monitora przenośnego na co dzień
Technologie
Rola nowoczesnych technologii w procesie rehabilitacji
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

5 min czytania
Technologie webowe

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

7 min czytania
MacBook Pro showing programming language
Technologie webowe

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

9 min czytania
AktualnościTechnologie webowe

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

9 min czytania
woman in black top using Surface laptop
Technologie webowe

Serwer dla małej firmy – czym kierować się przy jego wyborze?

5 min czytania
Technologie webowe

Jaki hosting wybrać pod Laravel? Kompleksowy przewodnik dla twórców aplikacji webowych

6 min czytania
programming language
Technologie webowe

Kaskadowość w CSS – wszystko, co musisz wiedzieć

7 min czytania
two women talking while looking at laptop computer
Technologie webowe

Darmowe kreatory stron WWW – stwórz swoją stronę w godzinę

14 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy

Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
  • Jak przygotować sklep internetowy na automatyzację obsługi klienta?
  • Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
  • Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?