Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Statystyka strony internetowej
Forum PHP.pl > Forum > Przedszkole
mirunio
Witam.
Chciałbym zacząć przygodę z php. Póki co mój stopień zaawansowania jest zerowy. Chciałbym na początku zrobić statystykę strony internetowej. Statystyka powinna się składać z tablicy z logiem wejść (logowana powinna być data wejścia oraz nazwa hosta (lub w razie jej braku adres IP) wchodzącego). Oprócz tego graficzny wykres słupkowy wejść za ostatnie 24 godziny z podziałem co godzinę.
Proszę o pomoc. Gdzie szukać rozwiązań. Będę wdzięczny za wszelakie informacje.
Cienki1980
Skoro dopiero zaczynasz "przygodę" z php to polecam kurs ( jest w poradach link do dobrego kursu - i to nie jednego ). Nie rzucaj się od razu do robienia grafiki ( a to właśnie chcesz robić ) a zacznij od czegoś prostszego bo możesz się szybko zniechęcić.
Takie moje skromne zdanie na ten temat.
mirunio
A jakbym Ci powiedział, że muszę to zrobić winksmiley.jpg
neeon
ja polecam smile.gif stat24 i potem się możesz bawić sam
Cienki1980
Cytat(mirunio @ 21.01.2007, 18:27:30 ) *
A jakbym Ci powiedział, że muszę to zrobić winksmiley.jpg

To ja Ci powiem, że musisz nauczyć się albo baz danych albo operacji na plikach ( gdzieś musisz zapisywać dane o odwiedzinach ), potem musisz zagłębić się w biblioteke GD do tworzenia obrazków, tak żebyś mógł tworzyć wykresy.

Skoro nie masz podstaw to od nich musisz zacząć biggrin.gif
mirunio
Dane będę zapisywał w pliku txt. Z tym raczej nie będzie problemu. Z samą biblioteką GD też sobie poradzę (mam fajny turtorial snitch.gif ). Pytanie co i jak z pobieraniem danych, zapisywaniem. Jak zapisywać? W jakiej formie?
Proszę o pomoc.
Cienki1980
Zapisywać zapisuj te dane, które uważasz za słuszne i które będą Ci potrzebne do statystyk. IP i data będzie chyba OK.

Co do formatu zapisu danych to już Twoja wola. Jak Ci będzie wygodniej zapisać i odczytac.
arecki
Cytat(Cienki1980 @ 21.01.2007, 19:06:20 ) *
To ja Ci powiem, że musisz nauczyć się albo baz danych albo operacji na plikach ( gdzieś musisz zapisywać dane o odwiedzinach ), potem musisz zagłębić się w biblioteke GD do tworzenia obrazków, tak żebyś mógł tworzyć wykresy.

Skoro nie masz podstaw to od nich musisz zacząć biggrin.gif


A tam zaraz GD... można zrobić gifa na 1px wysokiego i go zwyczajnie rozciągać na wysokość procentową wykresu smile.gif Tak jest najprościej. A zapis i odczyt. Zrób na SQLLite a na dzień dobry poznasz podstawy SQL'a. Na pewno przyda się na przyszłość.
mirunio
Witam.
Po dłuższej dry.gif zabawie doszedłem do tego, że pobieram już nazwę hosta, który odwiedza moją witrynę, zapisuje nazwę do pliku .txt, następnie przenoszę to do tablicy, zliczam i wyświetlam.

I teraz pytanie:
Jak do pobranego adresu hosta dodać czas, tzn. o której nastąpiło otwarcie witryny?
Adres hosta pobieram tak:

  1. <?php
  2. $zmienna1 = $REMOTE_ADDR;
  3. $zmienna2 = GetHostByAddr($zmienna1);
  4. ?>
kornel-php
  1. <?php
  2. $zmienna3 = date('d-m-Y H:i:s');
  3. ?>
mirunio
Cytat(kornel-php @ 23.01.2007, 09:40:58 ) *
  1. <?php
  2. $zmienna3 = date('d-m-Y H:i:s');
  3. ?>


Okok. Ale jak to naprzykład połączyć z każdym adresem i zapisać w tablicy, jako kolejny element?
1 host_maryski 23-11-1999 15:09:06
kornel-php
  1. <?php
  2. $dozapisu = $zmienna1.' '.$zmienna1.' '.$zmienna3;
  3. ?>


O to chodzi?
mirunio
Cytat(kornel-php @ 23.01.2007, 10:30:04 ) *
  1. <?php
  2. $dozapisu = $zmienna1.' '.$zmienna1.' '.$zmienna3;
  3. ?>


O to chodzi?


Śmiga jak zabaweczka. Trochę poprzerabiałęm i jest super. Więc kolejne moje pytanie. Jak teraz wybrać z tablicy tą zmianną odpowiadającą czasowi i rozpatrywać tylko dane, które pojawiły się w przeciągu 24 godzin?
kornel-php
Jeśli chcesz z całej zmiennej wyciągnąć datę to polecam ją pociąć substr()" title="Zobacz w manualu php" target="_manual lub eksplodować explode" title="Zobacz w manualu php" target="_manual...

Na przykład:

  1. <?php
  2.  
  3. $zapisana = '1 nawza_hosta 23-01-2007 10:58:34';
  4.  
  5. $data = explode(' ', $zapisana);
  6.  
  7. echo $data{2}; // powinno wyświetlić 32-01-2007
  8.  
  9. ?>
athabus
miruniu wykonywanie takich operacji na plikach to jest po prostu pomyłka... Oczywście możesz sobie wszystko rozbic za pomocą explode i potem zastosować odpowiednie operacje na stringach - np. tak jak pokazuje kornel-php, żeby wydobyć odpowiednie dane... ale pracując na bazie danych zrobisz to jednym zapytaniem. Naucz się obsługi mysql lub jakiejś innej bazy danych a Twoje życie stanie się prostsze :-)
FALCONcom
Cytat(athabus @ 23.01.2007, 11:05:47 ) *
miruniu wykonywanie takich operacji na plikach to jest po prostu pomyłka... Oczywście możesz sobie wszystko rozbic za pomocą explode i potem zastosować odpowiednie operacje na stringach - np. tak jak pokazuje kornel-php, żeby wydobyć odpowiednie dane... ale pracując na bazie danych zrobisz to jednym zapytaniem. Naucz się obsługi mysql lub jakiejś innej bazy danych a Twoje życie stanie się prostsze :-)


Święta prawda. Też na swojej stronie robie taka popieprzoną statystyke i na bazie danych smiga jak marzenie. Nie wiem po co sie meczyc na jakims pliku. biggrin.gif
mirunio
Witam.
Kolejny problem/pytanie.

Po krótkiej przewie zrobiłem coś takiego:

  1. <?php
  2. $zmienna2=file("my_hits2.txt");
  3. $x2 = array_count_values ($zmienna2);
  4.  
  5. while ($e = each($x2))
  6. {
  7. $nazwa = explode(' ',$e['key']);
  8. $wartosc = explode(' ', $e['value']);
  9. $nazwa1=$nazwa{0};
  10. $wartosc1=$wartosc{0};
  11. print ' '.$nazwa{0}.'---->';
  12. print ' '.$wartosc{0}.'<br> ';
  13. }
  14. ?>


Pojawia się coś takiego:

lovejoy.w3.org ----> 4
validator-jp.w3.org ----> 1


Czyli wszystko jest w porządku.

I teraz pytanie jak to zamieścić w zwykłej tablicy, aby każdy wiersz tabeli składał się właśnie z nazwy i ilości.


Proszę o jakieś pomysły rozwiązania. Dziękuję z góry
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.