Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

problema sesiuni
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
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  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community