 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
Radu
Data înscrierii: 01/Apr/2003
Mesaje: 48
Locație: Bucuresti
|
| Trimis: Vin Mai 23, 2003 2:07 am Titlul subiectului: problema sesiuni |
|
|
salut,
am un site si undeva in el este afisat in ordine alfabetica cine este online
cum am facut asta:
.....
if ($_SESSION['key_user'] == session_id()){
$sqlinsert = "update membri set online='1' where user='".$_SESSION['membru']."'";
$result=mysql_query($sqlinsert);}
.....
si apoi in locul in care sunt afisati userii online ii afisez doar pe cei ce au online 1 daca e 0 inseamna ca nu sunt logati
simplu pana aici
1=logat-->online - este afisat
2=nelogat-->offline - nu este afisat
daca se da logout normal ca online se face 0 si userul dispare din lista
DAR
daca acesta inchide direct browserul fara sa mai dea logout "online" ramane 1 si el apare ca si cum ar fi logat cand el e departe, saracul. :)
cum fac sa setez "online"=0 cand userul inchide browserul fara sa dea logout? |
|
| Sus |
|
iugin
Data înscrierii: 22/Mai/2003
Mesaje: 82
Locație: Oradea
|
| Trimis: Vin Mai 23, 2003 9:17 am Titlul subiectului: |
|
|
Sincer ghabar nu am, dar ai putea incerca cu javascript.
Adica cand inchide pagina sa faca ceva sau sa deschida automat o pagina php in care il setezi pe 0 si la final o inchizi.
Poate e aiurea dar e o solutie. Sa nu ma intrebi cum se face in javascript ca habar nu am. SI eu acuma ma chinui sa vad cum pot seta limba romana default pe un site si inca nu am gasit |
|
| Sus |
|
Radu
Data înscrierii: 01/Apr/2003
Mesaje: 48
Locație: Bucuresti
|
| Trimis: Vin Mai 23, 2003 9:27 am Titlul subiectului: |
|
|
am gasit o solutie care mi-a venit in cap navigand pe un site.
pe acel site la sectiunea membri online scria "update info 10 minute"
si uite asa am mai adaugat in tabelul cu membri un camp numit intrat_la in care trec valoarea variabilei:
$intrat_la = time();
mai setez
$expirat = $intrat_la - 600;
si in header am trecut:
daca e logat(conform sesiunii) sa seteze"online"=1
else daca intrat_la < $expirat sa seteze "online"=0
si uite asa dupa 10 minute de la inchiderea browserului acesta nu mai e trecut ca fiind online
GATA :twisted: |
|
| Sus |
|
tepes
Data înscrierii: 03/Apr/2003
Mesaje: 58
|
| Trimis: Vin Mai 30, 2003 7:09 pm Titlul subiectului: |
|
|
baga un camp in baza de date de tip int(10) (cred :roll: ) si umple-l cu strtotime ("now") cand se logheaza...
mai faci o functie care sa faca update la acest camp de fiecare data cand se incarca o pagina...
cand faci online scazi din strtotime ("now") campul cu pricina si iti returneaza nr de secunde... daca e mai mare de cat vrei tu la timeout il pune pe 0 si nu-l mai afiseaza...
ceva de genul asta... poate iti foloseste... :P |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|