Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Własne statystyki - kilka wątpliwości
statek
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

Ostrzeżenie: (0%)
-----


Cześć!

Irytują mnie już różnego rodzaju statystyki, które są darmowe ale wyświetlają reklamy. I chciałbym napisać własny skrypt. O ile sprawdzenie jakiej kto używa przeglądarki, jakiego systemu nie jest trudne, to sprawdzenie jakich użył słów aby znaleźć moją stronę w googlach już mnie przerasta. Jak to zrobić? Kolejna trudność to unikalność odwiedzin, mogę założyć, że jak dwa wejścia na stronę są odległe w czasie o powiedzmy jedną godzinę, to są unikalne. Ale to tylko oszacowanie, jak lepiej to zrobić? I sprawa najtrudniejsza (powiązana z poprzednią) jak umieszczę skrypt zliczający i identyfikujący użytkowników na każdej stronie mojej witryny, to nie będę miał statystyk unikalnych odwiedzin. A jeśli umieszczę skrypt tylko na stronie głównej to pominę tych, co weszli na podstronę witryny nie poprzez główną stronę ale poprzez bezpośredni link. Jak to obejść? Bardzo proszę o jakieś sugestie.

Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
lewy87r
post
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 10.05.2008

Ostrzeżenie: (0%)
-----


skrypt umieszczasz na wszystkich podstronach ;]

jest odpowiednia zmienna z adresem z jakiego url-a czlowiek do ciebie wszedł... (nie pamietam nazwy ale cos referer chyba do sprawdzenia to jest)

i ta zmienna zalatwia ci wszystkie problemy
bo jak daje ci urla-a z twojej strony to znaczy ze to nie unikalna / ewentualnie ciasteczko wysylaj 30sto monutowe ;]

edit: http://forum.php.pl/lofiversion/index.php/t76844.html

Ten post edytował lewy87r 8.07.2009, 16:05:41
Go to the top of the page
+Quote Post
kipero
post
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

Ostrzeżenie: (0%)
-----


Frazę, jaką wyszukał użytkownik można odczytać z $_SERVER['HTTP_REFERER']. Najprościej wyrażeniami regularnymi. Jeśli chodzi o unikalnych użytkowników to zapisuj do bazy np. adres IP oraz datę(lub czas) odwiedzin. Później zapytaniem do bazy wyciągniesz sobie informację ile osób z różnym IP(SELECT DISTINCT...) odwiedziło stronę w jakimś odstępie czasu.


--------------------
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Google analytics nie wyświetla reklam a raczej skoro masz wątpliwości nic lepszego nie napiszesz.


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A widziałeś Piwika? snitch.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
statek
post
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

Ostrzeżenie: (0%)
-----


Fakt, jest $_SERVER['HTTP_REFERER']. Pozostaje tylko problem unikalności wizyt. Umieszczam skrypt na każdej stronie i co dalej? Jak weryfikować czy to unikalne odwiedziny? Powiedzmy, że IP jest unikalny i między innymi go odczytuje, po czym zapisuje do jakiegoś pliku statystyk albo bazy. Ale nadal pozostaje pytanie jak odróżnić unikalność wizyt z tego samego IP?

Pozdrawiam.

PS
Mam jeszcze pytanie ogólne o serwery, strony i php. Jeśli mam stronę strona.com/index.php i jednocześnie 100 użytkowników chce ją odwiedzić. To co dzieje się z dostępem do pliku? Wydaje mi się, że plik może być w tym samym czasie otwarty i czytany tylko przez jedna osobę. Co wtedy się dzieje?

I jeszcze jedno: czy da się wczytać tylko jedna wybraną linijkę z pliku? Funkcja file czyta wszystkie wiersze. A potrzebuje wczytać kilka konkretnych linijek z bardzo długiego pliku.
Go to the top of the page
+Quote Post
Spawnm
post
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Tu znajdziesz odpowiedź co do linii z pliku:
http://pl.php.net/manual/en/ref.filesystem.php

ew. google.pl , w sieci i na forum jest trochę na ten temat.
Go to the top of the page
+Quote Post
statek
post
Post #8





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

Ostrzeżenie: (0%)
-----


Spawnm ja nie widzę tam żadnej funkcji czytającej wybrany wiersz z pliku. Mógłbyś powiedzieć o którą Ci chodzi?

A tak odnośnie tych statystyki, to czy jest inny (lepszy sposób) niż czasowa weryfikacja unikalności? Jak zabrać się za pisanie statystyk pokazujących popularność wszystkich podstron? Jak wtedy rozróżnić unikalność? Proszę o jakiekolwiek wskazówki, linki etc.

Pozdrawiam.
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
I jeszcze jedno: czy da się wczytać tylko jedna wybraną linijkę z pliku?

W pierwszym lepszym kursie PHP jest...

Cytat
Fakt, jest $_SERVER['HTTP_REFERER']. Pozostaje tylko problem unikalności wizyt. Umieszczam skrypt na każdej stronie i co dalej? Jak weryfikować czy to unikalne odwiedziny? Powiedzmy, że IP jest unikalny i między innymi go odczytuje, po czym zapisuje do jakiegoś pliku statystyk albo bazy. Ale nadal pozostaje pytanie jak odróżnić unikalność wizyt z tego samego IP?

Ściągnij sobie phpMyVisites i zobacz, jak tam jest to sprawdzane.

Cytat
A tak odnośnie tych statystyki, to czy jest inny (lepszy sposób) niż czasowa weryfikacja unikalności?

Ciastko ustawiane na odpowiednio długi czas.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
statek
post
Post #10





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

Ostrzeżenie: (0%)
-----


erix

Cytat
I jeszcze jedno: czy da się wczytać tylko jedna wybraną linijkę z pliku?

W pierwszym lepszym kursie PHP jest...


Chyba się nie rozumiemy. Mogę zrobić $a=file('sciezka') po czym odwołać się do a[5] i wczytać piąty wiersz, ale mi chodzi o to jak ominąć wczytywanie całego pliku do tablicy. Coś jak file ale z podaniem numeru linijki. Ani w pierwszym lepszym, ani w drugim nic lepszego ine znalazłem. A w manuału chyba nie ma takiej funkcji. Mógłbyś mi powiedzieć jak to zrobić?

Cytat
Fakt, jest $_SERVER['HTTP_REFERER']. Pozostaje tylko problem unikalności wizyt. Umieszczam skrypt na każdej stronie i co dalej? Jak weryfikować czy to unikalne odwiedziny? Powiedzmy, że IP jest unikalny i między innymi go odczytuje, po czym zapisuje do jakiegoś pliku statystyk albo bazy. Ale nadal pozostaje pytanie jak odróżnić unikalność wizyt z tego samego IP?

Ściągnij sobie phpMyVisites i zobacz, jak tam jest to sprawdzane.


Dzięki, ale nie bardzo rozumiem, czemu jeśli wiesz jak to jest zrobione, to nie napiszesz o tym jednego zdania? Wtedy Twoja pomoc byłaby dużo efektywniejsza smile.gif

Cytat
A tak odnośnie tych statystyki, to czy jest inny (lepszy sposób) niż czasowa weryfikacja unikalności?

Ciastko ustawiane na odpowiednio długi czas.


Szczególnie przy wyłączonych ciastkach. Chyba lepiej sesją, albo po prostu sprawdzać czas ostatniej wizyty w bazie. Jak radzisz?
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Chyba się nie rozumiemy. Mogę zrobić $a=file('sciezka') po czym odwołać się do a[5] i wczytać piąty wiersz, ale mi chodzi o to jak ominąć wczytywanie całego pliku do tablicy. Coś jak file ale z podaniem numeru linijki. Ani w pierwszym lepszym, ani w drugim nic lepszego ine znalazłem. A w manuału chyba nie ma takiej funkcji. Mógłbyś mi powiedzieć jak to zrobić?

Owszem, się rozumiemy. Gdybyś przejrzał, jakie są dostępne funkcje plikowe w PHP, to byś wiedział, że można czytać plik linia po linii. Gdybyś odrobinę pogłówkował, zrobiłbyś pętlę z licznikiem, która czyta po linijce.

Cytat
Dzięki, ale nie bardzo rozumiem, czemu jeśli wiesz jak to jest zrobione, to nie napiszesz o tym jednego zdania? Wtedy Twoja pomoc byłaby dużo efektywniejsza

Ale Ty byś dostał gotowca. Ja wiem, jaka pomoc będzie efektywniejsza, o to się nie bój. Rób swoją pracę domową, ruszaj palcami, a przede wszystkim głową, gdyż myślenie nie boli.

Cytat
Szczególnie przy wyłączonych ciastkach. Chyba lepiej sesją, albo po prostu sprawdzać czas ostatniej wizyty w bazie. Jak radzisz?

To powodzenia przy sprawdzaniu tej wizyty. Tylko ciekawe, jak zweryfikujesz sesję, gdy delikwent zamknie przeglądarkę. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
statek
post
Post #12





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

Ostrzeżenie: (0%)
-----


erix przejrzałem chyba 5razy te funkcje plikowe i nie mogę znaleźć takiej która oferuje wczytanie wybranej linijki bez wczytywania wszystkich linijek z pliku. Mógłbyś powiedzieć co to za funkcja? Mam duże pliki wczytywanie ich całych do tablicy jest bardzo czasochłonne, potrzebuje wczytać TYLKO jedną linijkę, marzeniem byłaby funkcja file() z opcją podania numeru tej linijki: file $path, 5), bez czytania reszty.

Odnośnie ruszania głową, to myślę że ruszam nią już dość długo i nawet mam w tym wprawę, jednak jak widzę wypowiedź w rodzaju: wiem, ale nie powiem, albo powiem fragment, to troszkę mnie to śmieszy i irytuje. Jakoś nie bardzo mam chęć nie analizowanie czyjegoś, raczej długiego, kodu po to aby dowiedzieć się kilku rzeczy, których sens można zapisać w dwóch zdaniach. A prac domowych nie robię już od lat, szkoły skończyłem dość dawno smile.gif

Masz rację sesje nie są dobre, zapomniałem o wyłączeniu przeglądarki. Ale ciastka też mają wady, ktoś może je wyłączyć, albo czyścić po każdym zamknięciu przeglądarki i co wtedy? Wydaje mi się, że zliczanie wizy i ich identyfikacja jako unikalne albo wtórne MUSI zachodzi w całości po stronie serwera, bez zależności od ustawień przeglądarki użytkownika. Wiesz jak to zrobić? A jeśli wiesz to, czy podzielisz się tą wiedzą?

Pozdrawiam.


PS
Jeśli ktoś inny również chciałby mi pomóc, to proszę się nie krępować:)
Go to the top of the page
+Quote Post
Spawnm
post
Post #13





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Człowieku , użyj google jeśli nie potrafisz sam dojść która funkcja , jest o tym pełno w sieci, trochę własnej inicjatywy !
Zamykam.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:12