Avatar billede heavybreezer Nybegynder
17. december 2004 - 19:00 Der er 3 kommentarer og
2 løsninger

Logge af.. Hvor?

Hey..

Jeg har lavet et community med brugerlogin..
Jeg har så lavet en funktion, som gør at andre brugere kan se om profiler er online..

Men her kommer den tricky del så.. Hvor skal jeg give min database besked på at sætte profilens status til at logge af? Jeg mener, hvis brugeren bare lukker browseren, bliver værdien jo ikke sat til offline.. Hvor vil i mene man kunne gøre det?

Håber i forstår..
Avatar billede madsass Nybegynder
17. december 2004 - 19:03 #1
Gør sådan at den sætter en cookie / session der varer i f.eks. 5 min. som opdaterer hver gang brugeren opdaterer en side. Når han så har været inaktiv i f.eks. 5 min. så bliver den cookie dræbt, og den sætter ham som aflogget ;)
Avatar billede erikjacobsen Ekspert
17. december 2004 - 19:03 #2
En timeout. Hvis en brugere ikke har haft aktivitet i fx 20 minutter
er han logget af. Det kræver at du registrerer hver gang han laver noget.
Avatar billede madsass Nybegynder
17. december 2004 - 19:08 #3
Eller f.eks. sådan her, på alle dine undersider:

if(isset($_SESSION['s_navn'])) { // Hvis bruger er logged ind.
$username = $_SESSION['s_navn']; // username = brugernavn
$data = mysql_query("select sitevisits from community where navn = '$username'");
$row = mysql_fetch_array($data);
mysql_query("UPDATE community SET online = '".time()."' WHERE navn = '$username'");
}

Husk at sæt dine egne variabler. På den side hvor man kan se om de er online eller ej. Der sætter du en php kode der siger at hvis time() i $row[online] er f.eks. 5 min gammel. Så er han inaktiv / offline :)
Avatar billede heavybreezer Nybegynder
17. december 2004 - 19:21 #4
Jep, men det er nu mest den kode, som tjekker hvor lang tid vedkommende har været online, og så logger dem af, jeg leder efter ;)
Avatar billede coderdk Praktikant
17. december 2004 - 21:45 #5
Vel noget der ligner:

SELECT * FROM brugere WHERE last_online >= DATE_SUB( NOW(), INTERVAL 5 MINUTES )

last_online er så et TIMESTAMP eller DATETIME som du skal huske at opdatere når en bruger, der er logget ind, ser din side ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester