Autor | Zpráva | ||
---|---|---|---|
Ricky4852 Profil |
#1 · Zasláno: 11. 1. 2012, 00:15:23
Zdravím, mám taký menší problém s chatom, týka sa aj MySQL ale aj PHP, takže som to dal viac-menej sem:
Pokúšam sa o vlastný chat, ale došiel som ku problému. Akonáhle sa niekto na chat prihlási, UPDATEne mu to v mysql 'login' na 1, to znamená že je prihlásený, a SESSION 'login' sa mu nastaví na 0. Neskvôr keď chce odísť, normálne by sa mal odhlásiť, 'login' v databáze sa nastaví na 0, session sa uzavrie. Tu ale nastáva problém, že keď sa neodhlási, ale len zavrie okno, session sa možno vymaže za niekoľko minút, ale 'login' v databáze vždy ostane na 1, čomu sa chcem vyhnúť. Je teoreticky nejaká možnosť to vyriešiť? Pripomínam však, že by som veľmi nerád takéto veci kontroloval cez jeden počítač, ktorý by bol ako server... Ďakujem za všetky riešenia :) |
||
HajekJirka Profil |
#2 · Zasláno: 11. 1. 2012, 00:21:09
Musíš kontrolovat kdy naposledy něco napsal a je li ten čas delší než nějaká hodnota (např. 10minut), tak ho automaticky odhlásíš. (Protože, pokud nic nenapsal 10minut, tak pravděpodobně odešel.)
Už se to tady několikrát řešilo. Jiná možnost podle mě není. Teda alespoň o ní nevím. |
||
Fisak Profil |
#3 · Zasláno: 11. 1. 2012, 00:26:49
Ricky4852:
„by som veľmi nerád takéto veci kontroloval cez jeden počítač, ktorý by bol ako server...“ na takovéto věci existuje "Cron"... tzn skript se ti bude spouštet v určitou dobu nebo v určitých intervalech.. .takže např. zapíšeš datum a čas do db kdy se přihlásil... s každým příspěvkem do chatu se toto datum a čas aktualizuje .. do cronu hodíš script kterej ti kontroluje kolik je momentálně čas a datum kdy si naposled měl aktivitu a pokud je rozdíl větší než např. 10 min. tak se ta hodnota v db updatne na 0 |
||
Ricky4852 Profil |
#4 · Zasláno: 11. 1. 2012, 00:31:50
HajekJirka, Fisak: ďakujem, skúsim to teda vašimi metódami vyskúšať :)
|
||
Fisak Profil |
#5 · Zasláno: 11. 1. 2012, 00:38:15
Ricky4852:
ještě mě napadlo... pokud na serveru není k dispozici cron tak zkus u každýho uživatele který třeba vstoupý do místnosti nebo něco napíše tak aby se ověřilo jestli jsou všichni stále online výše uvedeným způsobem ... ale podle mého názoru je lepší ten cron :) |
||
Časová prodleva: 12 let
|
0