Avatar billede svenn Nybegynder
05. august 2002 - 11:14 Der er 6 kommentarer og
1 løsning

Er brugeren stadig på hjemmesiden?

Jeg er ved at lave et advanceret brugersystem, og vil i den forbindelse meget gerne vide, når en bruger ikke er på hjemmesiden mere (så han/hun kan logges ud af systemet, og forekomme som "offline").
Lidt ligesom tælleren i højre side på www.eksperten.dk under "Statestik" ved Online brugere.
Så, det jeg søger er en metode, hvor jeg kan fortælle min database, at brugeren ikke længere er på siden.

Jeg har prøvet med Javascript-kommandoen OnUnload, men den køres også, hvis der klikkes på et link, som fører til en anden side på min hjemmeside (hvilket ikke er særligt ønskværdigt)

Til sidst: Jeg skriver i denne kategori, da siden bygges i PHP, og håber på, at kunne finde en metode, som kan køres sammen med (eller bygger direkte på) PHP.

På forhånd tak :o)
Avatar billede spasserbent Nybegynder
05. august 2002 - 11:27 #1
Den umidelbart nemmeste måde at se om en bruger er on- eller offline på er vel at hver gang han klikker sig rundt, kører et lille script som, fortæller databasen at nu er han online.
Har han så ikke klikket sig rundt i måske 5 minutter betragtes han som offline.
Avatar billede well_r Nybegynder
05. august 2002 - 11:31 #2
NOOOOO!!!!! :(
Avatar billede well_r Nybegynder
05. august 2002 - 11:32 #3
pis og lort!.. havde lige skrevet en funktion og vejledning.. men fik en "siden kan ikke vises".. da jeg kom tilbage var det jeg skrev væk :(
Avatar billede well_r Nybegynder
05. august 2002 - 11:32 #4
jeg skriver igen :(
denne gang gemmer jeg det..
Avatar billede well_r Nybegynder
05. august 2002 - 11:36 #5
function TaelBrugerSomOnline($ip){
  $time = time();
  mysql_query("DELETE FROM brugere_online where ip='$ip'");
  mysql_query("INSERT INTO brugere_online (ip,lastaction) VALUES ('$ip','$time')");
 
  $differens = $time - 180; // efter 3 min bliver session slettet automatisk
  mysql_query("DELETE FROM brugere_online where lastaction<'$differens'");
}

kald funktionen fra alle dine sider sådan her:
$ip = $REMOTE_ADDR;
TaelBrugerSomOnline($ip);

Dette var den korte udgave! :(

tabellen skal se sådan her ud:

id | ip | lastaction
--------------------

Du kunne evt. sætte en "side"-kolonne ind således du kan se hvor dine brugere befinder sig? :)
Avatar billede svenn Nybegynder
05. august 2002 - 11:41 #6
Perfekt :o)
Det var jo lige det, som jeg manglede. Mange tak skal du have.
Avatar billede well_r Nybegynder
05. august 2002 - 11:41 #7
jeg takker for points ;o)
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