Autor Zpráva
asdfasdf
Profil *
Ahoj
dělám si takový jednoduchý chat a potřebuji aby mi to vypsalo jeslti je dotyčný online nebo ne?
Jak to mám udělat?

Zkouším to nějak takto:
Při vstupu vkládám do tabulky jeho nick a přiřazuji mu session.
Zkouším porovnávat jestli je session ještě aktivní a pokud ano, tak vypíšu ONLINE a pokud ne, tak vypíšu OFFLINE.

Zkouším to různými způsoby, ale bezvýsledně.

Prosím poraďte mi jak na to?
Děkuji.

Ještě dodám, že potřebuji aby ostatní viděli kdo je online a kdo není.
valecekm
Profil
asdfasdf

Proste do databaze uloz nekde k uzivatelovi nebo do samostatne tabulky(necham na tobe) trebas cislo 1 kdyz se prihlasi a kdyz se odhlasi, tak to prepis na 0. potom jen skontrolujes jestli je ulozena jednicka nebo nula a podle toho usoudis jestli je online nebo off. Teda apson me to prijde jako nejjednodusi zpusob(taky bys mel mit osetreny aby se uzivatel nemohl prihlasit vicekrat z ruznych pc. Tzn. ukladak k nemu jeho IP, verzi prohlizece a to pak nasledne kontrolovat.
asdfasdf
Profil *
valecekm
Jo to jo.
Promiň zapoměl jsem dodat, že chci aby když odejde ze hry (zavře prohlížeč) aby se to změnilo na OFFLINE.
DoubleThink
Profil *
Často se to zjišťuje podle doby neaktivity. Při každém požadavku se zapíše čas. Uživatelé s posledním dotazem mladším než třeba 5 minut jsou (pravděpodobně) online, zbytek je offline.
valecekm
Profil
DoubleThink
Taky moznost.

asdfasdf

Potom jeste existuje reseni pres ajax, nebo by se to tka mozna spise dalo vyresit, pres kterej bys volal nejakej soubor v kterym by byl php skript, kterej by znovu zapisoval sesion po urcitem case. Proste pri vytvareni session pres php by jsi dal dobu platnosti na skoro uplny minimum a pak tim javascriptem po urcite dobe by jsi volal php soubor ve kterym by bylo pouze znovunastartovani session. Ale asi by to bylo dosti narocne na server, kdyby tam byla spouste chatujicich uzivatelu, no a podle platnosti session by jsi dostal vysledek, ale volani daneho skriptu pres ajax v nejake rozumne kratke dobe aby se session porad udrzovala, coz by bylo par sekund, tak to by byl asi velkej za...hul... tkaze moc toto reseni nedoporucuju.

Ale toto reseni se pouziva trebas pri prihlaseni, aby neskoncila platnost session ikdyz uzivatel na nic neklika a tudiz by ho to neodhlasilo(kdyby si nekam odbehl a trebas nejakej dlouhej clanek by byl stracenej). Session by se prestala samozrejmne zapisovat v pripade kdyby uzivatel zavrel okno, cimz by se nespoustel javascript, a pak by platnost session zustala platna po tu dobu, po kterou byla nastavena phpckem.

Mozna by to bylo funkcni a slo by to vpohode, a nebo by to trebas tak zatezovalo, ze by jsi od toho musel upustit. Na takovi mnozstvi lidi jsem to nezkousel , takze nevim.

Priklad zde
asdfasdf
Profil *
DoubleThink
No to bude asi nejrozumnější řešení.
Díky

valecekm
Podívám se na to a dám vědět jestli a jak to funguje.
Díky
valecekm
Profil
asdfasdf

Fungovat to bude, pokud to bude provedeno spravne, ale problem je jestli to nebude zatezovat, protoze by jsi nastavil po jakem case se to ma aktualizovat a po jakem zjistovat, takze by jsi okamzite videl kdo je online a kdo off, pokud by jsi to nastavil po jedne vterine, ale asi by to byl mazec na server ;-) .

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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