User last activity

E ovako, malo sam počeo učiti php/mysql pa trebam pomoć…

Napravio sam stranicu sa register i login i sad me zanima kako da dodam da u mysql bazi mogu vidjeti kad je user zadnji put bio aktivan, tj. logiran?

Ako može što detaljnije, jer kažem, početnik sam. :smiley:

Prije par dana se vodila rasprava za vođenju online članova, u njoj je i ovo pokriveno…

http://webmajstori.net/forum/showthread.php?t=30880

Uglavnom sve što trebaš je raditi UPDATE kod svakog requesta korisnika i updateat polje koje ti je date-time ili timestamp, kako već preferiraš na trenutno vrijeme.

Zapravo ne moraš kod svakog requesta, već samo kada istekne online sesija koju si definisao (npr na 5 minuta).

Npr. korisnik se uloguje i ti mu postaviš trajanje sesije na 5 minuta. Kada mu istekne sesija (login_vreme+trajanje_sesije) radiš update.

Ovde sam okvirno napisao kako:

http://webmajstori.net/forum/showpost.php?p=218930&postcount=20

Hvala probat ću nešto iskombinirat pa javim ako zapnem…

[quote=“ivan79”]Zapravo ne moraš kod svakog requesta, već samo kada istekne online sesija koju si definisao (npr na 5 minuta).

Npr. korisnik se uloguje i ti mu postaviš trajanje sesije na 5 minuta. Kada mu istekne sesija (login_vreme+trajanje_sesije) radiš update.

Ovde sam okvirno napisao kako:

http://webmajstori.net/forum/showpost.php?p=218930&postcount=20
[/quote]

Ja i dalje tvrdim da ne vidim i ne postoji razlog zašto bi jednu takvu banalnu stvar uopće zapisivao u bazu, kada istu možeš zabisati u $_SESSION array. Koja je to krucijalna važnost informacije last activity da bi se zapisala u bazu. Ali izgleda da vrijedi ona stara “Zašto jednostavno, kada može komplicirano”. Ovo su samo primjeri gdje je “zlouporaba” baze podataka očita da ne može biti očitija.

Kada mi netko da smisleni odgovor zašto baza, a ne $_SESSION array možda i promislim o tome da i ja to koristim, a do tada ću tvrditi da je spremanje vrijednosti posljednje aktivnosti u bazu podataka glupost na kvadrat, pardon na kubik :slight_smile:

Evo ti jedan općeniti link o php sessionima:

http://php.net/manual/en/reserved.variables.session.php

a ako baš želiš database approach evo ti jedan dobar link:

http://shiflett.org/articles/storing-sessions-in-a-database

[quote=“CreatifCode”]Evo ti jedan općeniti link o php sessionima:

http://php.net/manual/en/reserved.variables.session.php

a ako baš želiš database approach evo ti jedan dobar link:

http://shiflett.org/articles/storing-sessions-in-a-database
[/quote]

Zato jer će mu SESSION isteći nakon 15min, ili koliko je već podešeno, a on vjerojatno hoće vidjeti i ako je u pitanju godinu dana, po samom pitanju vidiš da je početnik i da nema smisla da se zeza s nečime što ne razumije, pa mu je možda najbolje dati najjednostavniji odgovor koji će bez beda kod njega funkcionirati, a kasnije lako to promjeni i optimizira, ako bude potrebe.

[quote=“CreatifCode”]Ja i dalje tvrdim da ne vidim i ne postoji razlog zašto bi jednu takvu banalnu stvar uopće zapisivao u bazu, kada istu možeš zabisati u $_SESSION array. Koja je to krucijalna važnost informacije last activity da bi se zapisala u bazu. Ali izgleda da vrijedi ona stara “Zašto jednostavno, kada može komplicirano”. Ovo su samo primjeri gdje je “zlouporaba” baze podataka očita da ne može biti očitija.

Kada mi netko da smisleni odgovor zašto baza, a ne $_SESSION array možda i promislim o tome da i ja to koristim, a do tada ću tvrditi da je spremanje vrijednosti posljednje aktivnosti u bazu podataka glupost na kvadrat, pardon na kubik :)[/quote]

Kako bi ti sa session rjesija to, daj molin te objasni mi? On je napisa da mu triba da se vidi kad je korisnik zadnji put bija logiran

bez koristenja baze ili zapisivanja u fajl, ovo sa session nemozes nikako rijesiti
tj. bilo bi debilno iti pokusavati

OK, super slažem se da je početnik, ali za početnika je najgljupjlje doći i postaviti pitanje na forum umjesto pročitati manual od stvari za koju se traži pomoć. zato sam mu i dao link na php manual, a vrijeme trajanja za session možeš podesiti i u svom nekakvom config file-u ili nečem što tome sliči, a mislim da bi to trebao imati, a ako zbog ničeg drugog onda zbog database podataka, s naredbom
ini_set(“session.gc_maxlifetime”, “18000”); gdje 18000 oznaćava broj sekundi nakon kojeg session istječe.

[quote=“CreatifCode”]Ja i dalje tvrdim da ne vidim i ne postoji razlog zašto bi jednu takvu banalnu stvar uopće zapisivao u bazu, kada istu možeš zabisati u $_SESSION array. Koja je to krucijalna važnost informacije last activity da bi se zapisala u bazu. Ali izgleda da vrijedi ona stara “Zašto jednostavno, kada može komplicirano”. Ovo su samo primjeri gdje je “zlouporaba” baze podataka očita da ne može biti očitija.

Kada mi netko da smisleni odgovor zašto baza, a ne $_SESSION array možda i promislim o tome da i ja to koristim, a do tada ću tvrditi da je spremanje vrijednosti posljednje aktivnosti u bazu podataka glupost na kvadrat, pardon na kubik :)[/quote]

Kako bi npr. ispisao na stranici koliko je ukupno korisnika online?

[quote=“antelaca”]Kako bi ti sa session rjesija to, daj molin te objasni mi? On je napisa da mu triba da se vidi kad je korisnik zadnji put bija logiran

bez koristenja baze ili zapisivanja u fajl, ovo sa session nemozes nikako rijesiti
tj. bilo bi debilno iti pokusavati[/quote]

Ja mislim da je čovjek mislio, a siguran sam u to jedno 99.9%, kako da provjeri zadnju aktivnost logiranog korisnika, tako da može odraditi nešto u slučaju da je session još uvijek validan, a ako je ono na što ti aludiraš, onda se svakako slažem da je najbolje spremiti zadnju aktivnostu u bazu samo što to nema ama baš nikakve veze sa sessionom ;).

jedan primjer bi bio:

a osim toga ispisivanje koliko je korisnika trenutno online koristeći sesison je totalni bullshit, moglo bi se dogoditi da ti je jedan te isiti korisnik bio tri, četiri puta posjetio site i imao tri četiri session-a.

i plus toga što ako ti dođe neki google, microsoft, bing ili ko zna koji bot.

Par postova prije:

funkcija ereg je depreceted, koristi preg_match

E ako je ova funkcija kompliciranija od povezivanja na bazu, updateanje i varaćanje podatka, onda fakat nemamo šta više pričati.

ok, ispričavam se:

Na ovo si također sam dao odgovor, a na to se i odnosio moj post:

[quote=“CreatifCode”]…
a osim toga ispisivanje koliko je korisnika trenutno online koristeći sesison je totalni bullshit, moglo bi se dogoditi da ti je jedan te isiti korisnik bio tri, četiri puta posjetio site i imao tri četiri session-a.

i plus toga što ako ti dođe neki google, microsoft, bing ili ko zna koji bot.[/quote]

[quote=“CreatifCode”]OK, super slažem se da je početnik, ali za početnika je najgljupjlje doći i postaviti pitanje na forum umjesto pročitati manual od stvari za koju se traži pomoć. zato sam mu i dao link na php manual, a vrijeme trajanja za session možeš podesiti i u svom nekakvom config file-u ili nečem što tome sliči, a mislim da bi to trebao imati, a ako zbog ničeg drugog onda zbog database podataka, s naredbom
ini_set(“session.gc_maxlifetime”, “18000”); gdje 18000 oznaćava broj sekundi nakon kojeg session istječe.[/quote]

Uzmi u obzir da 99% početnika u današnje vrijeme ne zanima kako stvari u pozadini rade, da im nije bitna optimizacija, samim tim da takva pitanja postavlja ovdje već unaprijed sam poprilično siguran da opće nije za programera, samo želi nešto smuljati da radi, a da ne plati, da je vjerojatno bi se uhvatio u koštac sa knjigama i manualom, a još jedna stvar koju sam već jako puno puta napomenuo, optimizacija dolazi na kraju, moje mišljenje barem, na početku je najbitnije da stvar proradi i da radi dobro, kad se jave prvi problemi i treba stvar ubrzati tek onda bi radio optimizaciju.

PS bez uvrede iGoG možda sam u krivu, ali pretpostavljam da je tako kako je i sa 90% ostalih ovdje koji postavljaju teme, pogotovo ovakve.

ovako to rade pocetnici…

a ovako iskusni

[quote=“Kečko”]
moje mišljenje barem, na početku je najbitnije da stvar proradi[/quote]

:roflmao:

ps
sorry kečko al stvarno ga…

[quote=“Kečko”]Uzmi u obzir da 99% početnika u današnje vrijeme ne zanima kako stvari u pozadini rade, da im nije bitna optimizacija, samim tim da takva pitanja postavlja ovdje već unaprijed sam poprilično siguran da opće nije za programera, samo želi nešto smuljati da radi, a da ne plati, da je vjerojatno bi se uhvatio u koštac sa knjigama i manualom, a još jedna stvar koju sam već jako puno puta napomenuo, optimizacija dolazi na kraju, moje mišljenje barem, na početku je najbitnije da stvar proradi i da radi dobro, kad se jave prvi problemi i treba stvar ubrzati tek onda bi radio optimizaciju.

PS bez uvrede iGoG možda sam u krivu, ali pretpostavljam da je tako kako je i sa 90% ostalih ovdje koji postavljaju teme, pogotovo ovakve.[/quote]

Ok, ponovo se slažem s tobom u gotovo svemu. Ono u čemu se ne bih složio je da ovaj dio nema baš puno veze s optimizacijom nego sa samom uporabom Session funkcije.

Moj problem je, otvoreno priznajem, s ljudima koji bi sve da im se da na dlanu. Pa meni je trnac rekao, kad sam počinjao raditi kod njega: “Najbolji programerov prijatelj je manual programskog jezika koji koristiš, u našem slučaju msdn”. Od toga dana se toga držim i nezaobilazna mi je stranica kod svakog problema. Ja preporučujem to i svima ostalima. Prvo manual, pa onda google, pa tek onda forumi, jer kao što se vidi na forumu možeš samo poluditi. :wink:

Ali u globalu se slažem s tobom.