Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Administrator hoce da zna koliko korisnika gleda sajt.

[es] :: PHP :: Administrator hoce da zna koliko korisnika gleda sajt.

Strane: 1 2

[ Pregleda: 4868 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: Administrator hoce da zna koliko korisnika gleda sajt.26.09.2009. u 20:39 - pre 177 meseci
"Ako je server dosta posjecen" je jako relativna tvrdnja. Ako imas 100 posjeta u jednom momentu nije isto kao kad ih imas 1000.
:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

zgas

Član broj: 74613
Poruke: 334
*.DIALUP-SMIN.neobee.net.

Sajt: odbrojavanje.com


Profil

icon Re: Administrator hoce da zna koliko korisnika gleda sajt.28.09.2009. u 08:17 - pre 177 meseci
Sumljam da ce moj sajt biti kali ovaj sto se tice posecenosti, ali bilo bi dobro da elitesecurity kaze kako belezi ove podatke ko je trenutno na sajtu. Da li ih cita iz sesije ili iz baze? Da li sesiju smesta u bazi? Dok pisem ovaj odgovor, elitesecurity kaze da je na sajtuy 82 registrovana korisnika i 530 gostiju - to je posecen sajt. Interval za posecenost im je 10 minuta. Bilo bi dobro dakazu da li pri svakom requestu stranice ili mozda drugacije.

Jos uvek pravim svoj sistem i evo sta planiram da uradim.
Znaci kako sam i rekao, citacu podatke iz sesija fajlova, posto mi se sesije ionako pri svakom requestu startuju pa cu tako izbeci jos upis u bazu.
E sada radi mesecne statistike koju mi je napomenuo 'dakipro', mora da se koristi baze. To cu napraviti tako sto cu svaki minut izvrsiti cronom jedan insert u bazu koji ce beleziti koliko je clanova online. Tada mi nece svaki korisnik updatovati bazu svaki minut, vec samo ovaj cron.

To resenje mi daje globalnu situaciju posecenosti sajta, ali ne mogu iz takve statistike pratiti ponasanje svakog pojedinacnog korisnika posebno. Takodje ne mogu izvlaciti podatke o pojedinacnim posecenostima svake stranice ponaosob... Mislim da cu ipak biti zadovoljan.
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
91.148.83.*



+13 Profil

icon Re: Administrator hoce da zna koliko korisnika gleda sajt.28.09.2009. u 10:55 - pre 177 meseci
Aj da probam da se ukljucim u diskusiju

Elem, nisam 100% siguran, ali mislim da ES radi na sledecem principu:

Postoji baza koja belezi posete klijenata (odnosno njihove IP adrese). Pri svakoj 'akciji' (klik na neki link, komentarisanje slika,...) korisnika, u bazu se upise njegov IP i tacno vreme/datu. Lista aktivnih korisnika se vadi tako sto se iz baze selektuju svi redovi koji su mladji od 10 minuta. Postoji cron koji na svakih 10minuta brise sve adrese koje su neaktivne duze od 10minuta ... I to je cela logika. Ovakvo resenje se provlacilo 1000x kroz forum i mozda bi mogao da razmislis i o njemu
 
Odgovor na temu

ColdKeyboard
Sasa Karanovic
Hardware and Firmware Engineer
Toronto, Canada

Član broj: 31924
Poruke: 868
*.dynamic.sbb.rs.

Jabber: ColdKeyboard
Sajt: www.SasaKaranovic.com


+11 Profil

icon Re: Administrator hoce da zna koliko korisnika gleda sajt.28.09.2009. u 12:08 - pre 177 meseci
A ovo je vrlo jednostavno i raspravljano o tome jedno milion puta.

Najjednostavniji nacin da se to uradi jeste da imas jednu tabelu sa korisnicima u kojoj cuvas osnovne podatke o korisniku (username, password/hash, email, lastactivity) ili da imas dvije tabele
od koji jedna sadrzi samo osnovne informacije o korisniku i link koji povezuje korisnika sa njegovim profilom u drugoj tabeli u kojoj cuvas profile korisnika.

Sve u svemu, poenta je da se ne opterecuje ni server ni baza sa suvisnim podacima.

Svaki put kada korisnik otvori neku stranicu, tj. kad posalje zahtjev za neku tvoju stranicu ti u svojoj bazi u njegovom profilu izmjenis njegov lastactivity.

Code:
$query = mysql_query("update user_profiles set lastactivity='. time() .' where id = $user_id limit 1") or die(mysql_error));


Sada nema potrebe da se ti podaci cuvaju u posebnoj tabeli ili jos manje da se postavlja cron koji bi cistio tu tabelu...

Zar nije jednostavnije staviti da je aktivan user = posjetio sajt ili otvorio neku stranicu u posljednjih 10min i nakon toga samo izbrojati ili uzeti sva imena koja odgovaraju upitu.

Primer:
Code:

$active = time() - 60 * 10 //Znam da je ovo 600 :) ali ako neko bude imao potrebu da poveca limit, znaci stavlja se vrijednost u sekundama.
$query = mysql_query("select username from user_profiles where lastactivity <= '$active' order by lastactivity desc") or die(mysql_error());
$broj_online_korisnika = mysql_num_rows($query);

//lista korisnika koji su online
while($item = mysql_fetch_array($query))
{
   $user_list .= $item['username'] .' ';
}

print "Users online: $broj_broj_online_korisnika <br />";
print "Korisnici koji su online: ";
print $user_list;


Vrlo jednostavno i stedi resurse. Moje misljenje je da nema potrebe za odvojenom tabelom i da se u njoj cuvaju podaci kada je ko pristupio sajti a jos manje
za cronjob-om koji bi cistio tu tabelu...

Nadam se da ce ovaj kod nekome biti od koristi.

Pozdrav,
Sale

 
Odgovor na temu

zgas

Član broj: 74613
Poruke: 334
*.dialup.neobee.net.

Sajt: odbrojavanje.com


Profil

icon Re: Administrator hoce da zna koliko korisnika gleda sajt.01.10.2009. u 08:23 - pre 177 meseci
Tvoje je resenje u redu ako neko ne zeli statistiku poseta u nekom vremenskom intervalu unazad.
Isto ako neko zeli da belezi ovo polje svaki put kada se pozove neka stranici a ne zeli da dira bazu zbog toga (jer se to ionako radi u sesijama),
kao sto je bilo reci o tome u ovoj temi, onda ovo resenje ne odgovara...
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

[es] :: PHP :: Administrator hoce da zna koliko korisnika gleda sajt.

Strane: 1 2

[ Pregleda: 4868 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.