/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Check hvilke brugere der er logget in
Fra : Anders Anker


Dato : 12-09-08 19:49

Jeg er ved at lave en side hvor forskellige brugere kan oprette
sig og logge ind. Deres bruger-data bliver så gemt i en MySQL
database.

Nu vil jeg gerne, at en bruger kan se en liste over hvilke andre
brugere der også er logget ind.

Jeg har gjort forskellige forsøg der virker mere eller mindre,
men problemet ender hver gang, når en bruger der er logget ind
lukker browservinduet uden først at logge ud.

Hvordan kan det gøres? Eller kan det overhovedet lade sig gøre i
php?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Michael Rasmussen (12-09-2008)
Kommentar
Fra : Michael Rasmussen


Dato : 12-09-08 20:53



Anders Anker (12-09-2008)
Kommentar
Fra : Anders Anker


Dato : 12-09-08 21:22

>
> Tillader dine brugere afvikling af javascript, kan du i stedet skrive
> en lille "phone home" funktion. Lav en funktion der sender et ping
> tilbage til din server indeholdende brugerens PHP session id med få
> minutters intervaller.
>
Jeg kan ikke se hvordan det hjælper bruger 1 til fx at kunne se om
bruger 7 og 9 også er logget på?

I øvrigt ønsker jeg at logge en bruger ud, efter et vist antal minutters
inaktivitet og det blir' vel spoleret helt hvis jeg har sådan en
funktion?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Anders Anker (12-09-2008)
Kommentar
Fra : Anders Anker


Dato : 12-09-08 21:28

>
> Tillader dine brugere afvikling af javascript, kan du i stedet skrive
> en lille "phone home" funktion. Lav en funktion der sender et ping
> tilbage til din server indeholdende brugerens PHP session id med få
> minutters intervaller.
>
Jeg kan ikke se hvordan det kan hjælpe bruger 1 til fx at kunne se at
bruger 7 og 9 også er logget på?

I øvrigt ønsker jeg at logge en bruger ud automatisk efter et vist antal
minutters inaktivitet og det bliver vel spoleret af sådan et script?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Rasmussen (12-09-2008)
Kommentar
Fra : Michael Rasmussen


Dato : 12-09-08 21:29



Anders Anker (12-09-2008)
Kommentar
Fra : Anders Anker


Dato : 12-09-08 21:55

> Du skal selvfølgeligt lave en funktion på serveren, der løbende
> genererer kode på siderne, der viser, hvilke brugere er online.
Så jeg skal ha' et forskelligt sessions navn fx SESSID.$bruger_id til hver
bruger der er logget på?

Hvordan checker jeg så for sideløbende sessions?

(og undskyld den mærkelige dobbelt post før...)

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Rasmussen (12-09-2008)
Kommentar
Fra : Michael Rasmussen


Dato : 12-09-08 22:02



Anders Anker (12-09-2008)
Kommentar
Fra : Anders Anker


Dato : 12-09-08 22:16

> Ja, en ekstra tabel:
> fake_sess_id char(32)
> bruger_id int
>
> ideen er, at du skanner denne tabel, hver gang du skal genererer en
> side. Brugere listet i tabellen er online. Når en bruger logger af
> eller automatisk bliver logget af, skal du blot fjerne rækken, der
> matcher brugerens id (delete from 'ekstra tabel' where bruger_id=id)
>
Ok tror vi nærmer os... jeg havde allerede lavet sådan en tabel, men jeg kunne
ikke 'fjerne rækken' når en bruger lukkede browservinduet uden at logge ud
først.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Rasmussen (12-09-2008)
Kommentar
Fra : Michael Rasmussen


Dato : 12-09-08 22:22



Anders Anker (12-09-2008)
Kommentar
Fra : Anders Anker


Dato : 12-09-08 22:36

> Hvis du har lavet en phonehome funktion, der skal melde tilbage med
> passende mellemrum, kan du tilføje et timestamp til ekstra tabellen, og
> så løbende scanne den på følgende måde
> delete from 'ekstra tabel' where timestamp + interval < time

ahh ja, et timestamp må kunne gøre det...
Jeg takker mange gange for hjælpen!

Super :)


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Philip Nunnegaard (13-09-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 13-09-08 00:42

"Anders Anker" <andersanker@hotmail.com> skrev

> ahh ja, et timestamp må kunne gøre det...
> Jeg takker mange gange for hjælpen!

Og i så fald kan det i princippet gøres simplere. Sætte tidsstemplet på
selve brugerprofilen.
Er dette tidsstempel under XX minutter gammel, antager vi at vedkommende er
online.
Så er der sparet en ekstra tabel, og tidsstemplet ville man no alligevel
have i profilen også, så andre brugere kan se hvornår vedkommende sidst var
online.

PS. Er jeg den eneste der ikke kan læse Michael Rasmussens indlæg?


Stig Johansen (13-09-2008)
Kommentar
Fra : Stig Johansen


Dato : 13-09-08 05:33

Philip Nunnegaard wrote:

> PS. Er jeg den eneste der ikke kan læse Michael Rasmussens indlæg?

Måske, måske ikke.
Jeg kan godt, men Michael bruger noget PGP signature, som bevirker han
sender i multipart/signed.
Jeg kunne forestille mig, at MS-klienter ikke har det så godt med det.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste