[PHP] Rozbudowany skrypt licznika online


(Zagorskid) #1

Witam!

Mam zamiar upublicznić rozbudowany licznik online własnej roboty :D. Zanim jednak to zrobię, chciałbym poznać opinie użytkowników na jego temat, mam też kilka pytań w związku z nim.

Może zacznę od prezentacji. Licznik jest dwuczęściowy:

Pierwsza część kodu powinna znajdować się na każdej podstronie serwisu, wyświetla ona tekst:

Przy czym liczba userów linkuje do drugiej części licznika.

Przykład (prawa kolumna, dział statystki).

Druga część otwiera się jako nowe okno i zawiera listę użytkowników oraz dodatkowe informacje wg wzoru:

Adres IP stanowi link (wraz ze stosownym title) do strony, na której aktualnie znajduje się user. Host posiada title z informacjami na temat systemu i przeglądarki, a XX min. po znaku małpy to czas, jaki user spędza na naszej stronie.

Przykład.

Teraz mam parę pytań:

Jak sensownie zastąpić "Referrer", żeby było po polsku i krótko - Wejście z, Strona polecająca..?

Czy dodanie liczby stron, które przejrzał dany user to dobry pomysł?

Lepiej dać sumę userów w nagłówku, czy zrobić listę numerowaną, zamiast wypunktowanej?

Będę wdzięczny za wszelkie uwagi i komentarze.


(matty24) #2

Bardzo mi się podoba ten licznik.

Ten pomysł jest chyba najlepszy:

Według mnie tak.

Według mnie w nagłówku. Będzie lepiej dostrzegane. A lista niech zostanie punktowana.

Gratuluję pomysłu i wykonania. Naprawdę fajne. Jak upublicznisz to chętnie skorzystam bo jak narazie nie umiem takich rzeczy robić.


(L337 Crew) #3

przybyłeś z ...

albo

adres odsyłający: strona.pl :slight_smile:

nie :slight_smile:

zostaw jak jest .

Co do samego serca skryptu - działa na plikach tekstowych czy na bazie sql ?

Ogólnie ładnie to wygląda, lecz mógłbyś zrobić system statystyk :smiley:

Tzn. miesięcznie, tygodniowo, dziennie, porobić bajerki graficzne (wykresy), statystykę używanych rozdzieczości (bardzo przydatne), unikalne odwiedziny oraz ogółem wyświetlenia witryny.

Można też zrobić (tak opcjonalnie :D) by dzienny raport (po 24 godzinie) został wysyłany na Twojego (admina) maila z informacjami o odwiedzinach w minionym właśnie dniu ;]

zbędne, ale przydatne :slight_smile:


(Airborn) #4

coś nie bardzo widzę te info odnośnie systemu i przeglądarki, ale po za tym to kawał niezłej roboty =)


(Zagorskid) #5

Już za późno - jestem w trakcie produkcji tego elementu :wink:.

System statystyk mam osobno, ten skrypt ma za zadanie jedynie wyświetlać szczegółowe informacje o ludziach aktualnie przeglądających stronę.

Wg mnie trochę nieadekwatne - w końcu zwracanie się w 2 osobie do wszystkich userów... :wink: Może (jeśli już) "przybył z". Ale tutaj znowu kwestia płci, bo wypadało by nie zapominać o paniach, i już się robi Przybył(a) z, co nie wygląda zbyt estetycznie. Takie moje zdanie.

Oczywiście, że na bazie. :slight_smile:

Złączono Posta : 12.01.2007 (Pią) 22:28

Najedź na hosta i odczekaj sekundkę - info powinno pojawić się jako title do spana :).


(Clubbasse207) #6

ja bym to zmienił :stuck_out_tongue:

nie wystarczy samo online ?

takie moje skromne zdanie :slight_smile:


(Zagorskid) #7

Nie bardzo Cię rozumiem. :slight_smile:

Zmieniłem trochę prezentację listy:


(Clubbasse207) #8

no ..

zamist tekstu

Na stronie znajduje się xxx użytkowników.

poprostu

Online xx


(Zagorskid) #9

Właśnie ukończyłem prace nad skryptem :mrgreen: .

Wersja finalna do pobrania:

zOnlineCounter 1.0

Dzięki za pomoc! :slight_smile:


(L337 Crew) #10

zagorskid mam drobniutkie uwagi :mrgreen:

Na Ff onclick nie działa, przez co nie otwiera się to w nowym okienku,

lecz w tym samym ...

Na IE - trzeba powiększać :expressionless:

Ustal więc parametry nowego okienka :wink:

plik body.php:

<?php

  // zamknięcie poł±czenia z baz±

  mysql_close();

?>

wywal to :stuck_out_tongue:

Skrypt sam automatycznie zamknie połączenie z bazą :wink:

Jest to przydatne wtedy, gdy w jednym skrypcie otwierasz kilka połączeń (np. z dwoma bazami danych) .

Publikacja adresów IP w pliku online -

powinieneś maskować ostatni oktet :!:

Ponieważ naruszasz cudzą prywatność :mrgreen:

Chcesz, to mogę Ci udostępnić mój skrypcik 8)

pozdrawiam.

PS.

zapomniałbym - (na Twojej stronie) zrób ochronę na np. 15 min by jedna osoba z jednego IP nie mogła pobierać pliku w nieskończoność (tzn. by nie zliczało tych pobrań ;] ).

Bo np. klikniesz na to, anulujesz czy coś - często takie coś się zdarza i ...

niestety wówczas jest tzw. nabijanie licznika pobrań ;]


(Zagorskid) #11

Prywatność w Internecie? Chyba żartujesz :mrgreen: .

U mnie na FF działa okienko, tylko jak otwieram kilka to i tak wszystko się w jednym otwiera. A w IE7 są już karty więc nie trzeba nic powiększać. :stuck_out_tongue:

Jest jakiś działający sposób na okienko poza zdeprecjonowanym target i onclick="target='new'"?

to akurat jakoś da się przeżyć, choć dzięki za info - wezmę to pod uwagę przy następnej modyfikacji skryptu.

Wywalone :).

Rozbudowany skrypt statystyk z wykresami i wysyłaniem maili? Bardzo chętnie :P.


(L337 Crew) #12

ok, ale to jak go napiszę ;]

Wbrew pozorom nie jest to trudne 8)

Można zrobić na dwa sposoby (wykres słupkowy):

  1. rysujemy po obrazku z podstawionych danych 8) (tutaj trudniej, bo trzeba by było zamieniać ilość % na pixele...)

  2. robimy tabelkę, wcześniej przygotowujemy kilka pasków - najlepiej różnokolorowe o wymiarach np. 23x34px - by służyły nam jako słupki.

Teraz trzeba zbudować tabelkę tak, by w zależności od ilości odwiedzin - obrazek zwiększał swoją wysokość :slight_smile:

(po prostu pod height="" podstawiamy zmienną :D)

Najlepiej do tego ustalić jakiś własny przelicznik - zrobić funkcję, której będziesz poddawał wymiary oraz obrazek, który ma być użyty.


(Zagorskid) #13

Powodzenia :wink:.

W moim skrypcie (nawet jak bym bardzo chciał) nie mam gdzie tych wykresów wsadzić :P.


(Akira3179082) #14

Ja bym dodał jeszcze rekord online i kiedy został on ustalony w tej drugiej części skryptu


(Zagorskid) #15

Czyli godzina wejścia na stronę?


(Skr3czu) #16

Ile najwięcej osob było online


(Zagorskid) #17

Przydatne, ale do tego trzeba by już zrobić osobną tabelę w bazie.

Widzę, że zaczynam zbierać pomysły do następnej wersji :mrgreen:.