Autor Zpráva
vojtah22
Profil
Dobrý den,

momentálně řeším velký problém, nad kterým si lámu hlavu seč můžu, ale vyřešit ho nemůžu. Abych začel od začátku: Přemýšlel jsem, jak zjistit, kdo je momentálně k webu přihlášen a kdo není. Vymyslel jsem to metodou, že při přihlášení se uživatelské jméno onoho člověka zapíše do databáze a při odhlášení se smaže. To funguje naprosto 100%, samozřejmě ale řeším problém co udělat, když se uživatel neodhlásí a prostě zmáčkne "křížek" a okno zavře... Nevíte, jak to ošetřit? Nebo jiný způsob, jak vyřešit online / offline status přihlášenejch lidí (php, MySQL, java script)

Předem moc děkuji za případné odpovědi.. :)))
kachnak
Profil
ja som mal velmi davno take pocitadlo ze ukazovalo kolko ludi je prave na stranke a tam to bolo spravene cez session... si myslim ze nejaka funkcia by vedela spocitat vsetky session otvorene na tej stranke alebo take daco.. fungovalo to velmi dobre
Mastodont
Profil
vojtah22
Víme, do databáze zapisovat i čas posledního přístupu a vybírat lidi, co během posledních X minut požádali o další stráýnku (a po určité době záznam nečinného člověka smáznout).
fuckin
Profil *
presne tak jak pise Mastodont, do db ulozis treba id a cas nacteni stranky a postupne ho pokazde updatujes, pak vypises treba uzivatele kteri byli z posledni minutu online...problem je mozna v tom ze to zatezuje trosku vic db...
Mastodont
Profil
problem je mozna v tom ze to zatezuje trosku vic db
Dotaz můžeš kešovat, třeba v intervalu 30 sekund i více.
Mezerník
Profil *
Javascript: událost onUnload:
http://www.jakpsatweb.cz/javascript/udalosti.html
Mastodont
Profil
Mezerník
To sice vypadá pěkně, ale Google říká, že ve FF s tím mohou být těžké potíže ....
AM_
Profil
Událost onUnload je krajně nespolehlivá, ze svaté trojice IE-FF-Opera jí mám pocit že podporuje jen IE. Správné řešení píše Mastodont, taky se tím vyfiltrují ti, kdo se přihlásí a pak nechají prohlížeč otevřený a neaktivní.
vojtah22
Profil
Děkuji všem za cennéé rady...

Nejschůdnější se mi zdá možnost zapisování těch údajů do db.. Jak toho docílit, je mi vlastně jasné, až na věc, jak to smazat v případě neaktivity... Když ten člověk není aktivní, nemůže přece aktualizovat stránku, nemůže nikam kliknout.. kam tedy vmístit script pro smazání udaju v db??...
Mastodont
Profil
kam tedy vmístit script pro smazání udaju v db
Buď můžeš využít cron a spouštět zvláštní php mazací soubor třeba v hodinových intervalech, nebo si to nasimuluj v aplikaci - při spuštění mazacího dotazu si někam ulož čas a ten pak pravidelně kontroluj a opět po uplynutí třeba hodiny spust DELETE ...
AM_
Profil
Nebo ten DELETE spustíš pokaždé, když se stránka aktualizuje. Nebo další možnost je se na DELETE vykašlat, mít čas posledního refreshe jako jeden sloupec tabulky uživatelů a prostě vždycky jen vypsat pouze ty, kteří byli aktivní posledních X minut
kachnak
Profil
nieco podobne som mal aj ja ze odhlasovalo automaticky po 10 minutach a ta odhlasovacia funkcia sa spustala na zacaitku stranky... som si hodiny preratal na sekundy a ak bol rozdiel vacsi ako 600sek tak ho vymazalo.. lenze problem som mal ked to bolo okolo polnoci.. tam to trebalo nejak inac vymyset kedze hodiny sa nuluju.. (23:59 a 00:01) a rozdiel tam bol skoro cely den a v skutocnosti len 120 sekund cize nemalo to odhlasit

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: