Autor | Zpráva | ||
---|---|---|---|
pema01 Profil |
#1 · Zasláno: 6. 4. 2015, 20:23:54
Ahoj,
chci se zeptat jak principiálně bych měl zaznamenávat status ONLINE uživatelů? Dávat to do samostatné tabulky v DB je asi nesmysl, neboť může přijít dvakrát odjinud (z jiného prohlížeče) a mohlo by to zlobit. Jak tedy na to? |
||
Tomáš123 Profil |
#2 · Zasláno: 6. 4. 2015, 20:35:08
pema01:
„chci se zeptat jak principiálně bych měl zaznamenávat status ONLINE uživatelů“ Často sa to rieši uložením informácie do poľa $_SESSION , ktoré sa automaticky vymaže po zavretí okna prehliadača. Samozrejme sa prvok sa dá z poľa $_SESSION vymazať aj manuálne (viď péhapko.cz).
Druhým úložiskom býva cache prehliadača. Vtedy informácia prežije aj zavretie okna, užívateľ ju však môže nechtiac vymazať. „Dávat to do samostatné tabulky v DB je asi nesmysl, neboť může přijít dvakrát odjinud (z jiného prohlížeče) a mohlo by to zlobit.“ Neukladal by som to do databázy (šlo by zaznamenať IP adresu) aj preto, že užívateľ väčšinou nepočíta s paralelnou aktivitou (využívam to napríklad pri súčasnom prihlasovaní na e-mail). |
||
pema01 Profil |
#3 · Zasláno: 6. 4. 2015, 20:42:43
ok podívám se na to, kdyžtak se zase zeptám...
|
||
Keeehi Profil |
pema01:
Pokud chceš mít na stránce něco ve stylu "Nyní jsou online tito uživatelé: Franta, Pepa, Marek" tak to co psal Tomáš123 je úplně k ničemu. Takže ano, při každé uživatelově akci uložit jeho identifikátor a čas do DB. Kdo udělal nějakou akci za posledních 5 minut zjistíš pak takto: SELECT DISTINCT `user_id` FROM `table` WHERE `timestamp` > NOW() - INTERVAL 5 MINUTE ; Pokud bys vyžadoval mít informace opravdu aktuální tak řešení je o několik řádů složitější. Tato varianta je však ve většině případů více než dostatečná. |
||
Joker Profil |
#5 · Zasláno: 6. 4. 2015, 22:47:40
pema01:
„jak principiálně bych měl zaznamenávat status ONLINE uživatelů?“ Obvykle se to dělá tak, že se do databáze poznamená čas poslední aktivity a online jsou ti, kdo byli aktivní v nějakém časovém limitu. |
||
pema01 Profil |
#6 · Zasláno: 7. 4. 2015, 17:50:46
jo to zní docela dobře, zkusím
|
||
Časová prodleva: 10 let
|
0