Gå til innhold

Bytte Online status til OFFLINE når en bruker lukker siden


Anbefalte innlegg

Hei. jeg holder på å lage et lite forum her men har støtt opp på en stor sten som jeg ikke klarer å fjerne.

 

Jeg skal ha slik at du kan se om brukeren er Avlogget eller Pålogget. dette er jo ingen problem når de trykker på "Logg av" knappen jeg har laget, men hvem bruker da slike knapper :) Normalt pleier folk å bare lukke hele sida med krysset i hjørnet.

 

Da lurer jeg jo på hvordan jeg kan bytte om "Online" i tabellen min til "0" når de krysser ut sida...

 

Jeg har da ingen kode på dette enda fordi jeg ikke har noen ide om hva jeg skal skrive :(

 

Takker for alle svar :) Er noe uklart så kan jeg gjærne forklare litt mer.

Lenke til kommentar
Videoannonse
Annonse

Det du spør etter eksisterer ikke. Du kan aldri finne ut om hvorvidt brukeren ikke har lukket nettleservinduet eller ikke. Det man derimot kan gjøre, og som er vanlig, er å definere «logget inn» som aktivitet innenfor de siste 15. minuttene.

 

Hver gang en side lastes, oppdaterer du brukertabellen med current timestamp. Når du skal sjekke hvem som logget inn sjekker du egentlig hvem som har vært aktive de siste 15. minuttene.

 

Edit: Det er ikke riktig nødvendig å oppdatere databasen hver gang en side lastes. Du kan f.eks. se om du klarer å begrense databasespørringer med smart bruk av cookies.

Endret av Jonas
Lenke til kommentar
Det du spør etter eksisterer ikke. Du kan aldri finne ut om hvorvidt brukeren ikke har lukket nettleservinduet eller ikke. Det man derimot kan gjøre, og som er vanlig, er å definere «logget inn» som aktivitet innenfor de siste 15. minuttene.

 

Hver gang en side lastes, oppdaterer du brukertabellen med current timestamp. Når du skal sjekke hvem som logget inn sjekker du egentlig hvem som har vært aktive de siste 15. minuttene.

 

Edit: Det er ikke riktig nødvendig å oppdatere databasen hver gang en side lastes. Du kan f.eks. se om du klarer å begrense databasespørringer med smart bruk av cookies.

 

 

Ja det va jo igrunnen en bedre måte å tenke på :) får vel se om jeg klarer å koke dette sammen da :)

 

Takk skal du ha

Lenke til kommentar
Det du spør etter eksisterer ikke. Du kan aldri finne ut om hvorvidt brukeren ikke har lukket nettleservinduet eller ikke. Det man derimot kan gjøre, og som er vanlig, er å definere «logget inn» som aktivitet innenfor de siste 15. minuttene.

 

Hver gang en side lastes, oppdaterer du brukertabellen med current timestamp. Når du skal sjekke hvem som logget inn sjekker du egentlig hvem som har vært aktive de siste 15. minuttene.

 

Edit: Det er ikke riktig nødvendig å oppdatere databasen hver gang en side lastes. Du kan f.eks. se om du klarer å begrense databasespørringer med smart bruk av cookies.

Hiver man slike spørringer i en dekonstruktør (funksjon som kjøres på slutten av scriptet) så blir man kvitt problemet med at man må vente på at den spørringen skal bli ferdig før resten av siden rendres.

Lenke til kommentar

En ekstra spørring per sidevisning legger fortsatt ekstra load på server, uansett om du kjører den før eller etter alt annet, og er derfor noe man prøver å unngå. Ikke det at optimalisering av kode er nødvendig når en bare driver å lærer seg programmering, derfor jeg bare foreslo det..

Endret av Jonas
Lenke til kommentar

Ser uansett ikke for meg at dette er den type spørring som krever så alt for mye. Det som kanskje tar knekken på SQL er dårlig designede spørringer med JOIN, eller spørringer inn i en heftig løkke.

 

Poenget med tidligere innlegg var bare å poengtere at dette er den type spørring man kjører på slutten, da den ikke er nødvendig for å vise hovedinnholdet på siden.

Lenke til kommentar
Det du spør etter eksisterer ikke. Du kan aldri finne ut om hvorvidt brukeren ikke har lukket nettleservinduet eller ikke.

Vet ikke om dette funker: http://www.programmingtalk.com/showthread.php?t=36971 men uansett, så lønner det seg og gjøre som Jonas sier. Det er ikke alle som har JS aktivert, og da kan det bli krøll. Så dette er mer ment som en tilleggsfunksjon (dersom det i det hele tatt vil fungere).

Lenke til kommentar
Ser uansett ikke for meg at dette er den type spørring som krever så alt for mye. Det som kanskje tar knekken på SQL er dårlig designede spørringer med JOIN, eller spørringer inn i en heftig løkke.
Ikke? Alle endrende spørringer vil låse av hele tabellen hvis man bruker MyISAM. Jeg vil tro det potensielt kan redusere ytelsen betraketlig hvis man er uheldig.
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...