/ 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
Kan man tælle sessions?
Fra : John Kjoller


Dato : 25-11-05 21:32

Hvis man har et bruger-login-system, hvor man benytter:

$_SESSION['authenticated'] = true;

- Er det så muligt at tælle hvor mange sessions, der er gang i, lige nu?

(Så jeg kan se hvor mange brugere der er online).

Kh
John



 
 
Erik Ginnerskov (25-11-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 25-11-05 21:45

John Kjoller wrote:
> Hvis man har et bruger-login-system, hvor man benytter:
>
> $_SESSION['authenticated'] = true;
>
> - Er det så muligt at tælle hvor mange sessions, der er gang i, lige
> nu?
>
> (Så jeg kan se hvor mange brugere der er online).

Prøv at kigge her. Den har jeg testet og den fungerer:

http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=21

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



John Kjoller (26-11-2005)
Kommentar
Fra : John Kjoller


Dato : 26-11-05 12:04

Erik skrev:
> Prøv at kigge her. Den har jeg testet og den fungerer:
>
> http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=21
>

John:
Det fungerer desværre ikke så godt for mig. Fordi den tæller ip-adresser,
fremfor sessions. Mine brugere befinder sig på de samme sider, uanset om de
er online, eller ej. Den eneste forskel er indholdet på siderne, - hvis du
forstår.
Og det vil jo så resultere i at alle opfattes som online, - hvis man bare
tæller ip-adresserne.....

Er det ikke muligt at tælle sessions??

KH
John



Jacob Atzen (26-11-2005)
Kommentar
Fra : Jacob Atzen


Dato : 26-11-05 12:22

On 2005-11-26, John Kjoller <john@skrivikkedette-basix.dk> wrote:
> Det fungerer desværre ikke så godt for mig. Fordi den tæller
> ip-adresser, fremfor sessions. Mine brugere befinder sig på de samme
> sider, uanset om de er online, eller ej. Den eneste forskel er
> indholdet på siderne, - hvis du forstår.
> Og det vil jo så resultere i at alle opfattes som online, - hvis man
> bare tæller ip-adresserne.....
>
> Er det ikke muligt at tælle sessions??

Debatten har været oppe og vende for nylig i gruppen, se:

<http://groups.google.com/group/dk.edb.internet.webdesign.serverside.php/tree/browse_frm/thread/ccee0ef8d4c644aa/7a19b2954ebce2be?rnum=1&q=session&_done=%2Fgroup%2Fdk.edb.internet.webdesign.serverside.php%2Fbrowse_frm%2Fthread%2Fccee0ef8d4c644aa%2F6bd5fa16799fc822%3Fq%3Dsession%26rnum%3D4%26#doc_32c53f97dad70290>

--
Med venlig hilsen
- Jacob Atzen

John Kjoller (26-11-2005)
Kommentar
Fra : John Kjoller


Dato : 26-11-05 12:57

Jacob skrev:
> Debatten har været oppe og vende for nylig i gruppen, se:
>
> <http://groups.google.com/group/dk.edb.internet.webdesign.serverside.php/tree/browse_frm/thread/ccee0ef8d4c644aa/7a19b2954ebce2be?rnum=1&q=session&_done=%2Fgroup%2Fdk.edb.internet.webdesign.serverside.php%2Fbrowse_frm%2Fthread%2Fccee0ef8d4c644aa%2F6bd5fa16799fc822%3Fq%3Dsession%26rnum%3D4%26#doc_32c53f97dad70290>
>


John:
Jeg er temmelig uerfaren på området, men så vidt jeg kan se, så hjælper den
nævnte tråd med at tælle mine sessions - som bruger - altså hvor mange
sessions JEG har gang i. - og det jeg har brug for, er at tælle hvor mange
sessions mit site har gang i (for dermed at tælle hvor mange brugere der er
online).

Jeg mener at kunne se at denne kommentar i tråden må være nøglen, til at
løse mit problem:

"Hvis du med alle igangværende sessions med din applikation - så er du
nød til selv at holde styr på dem via din applikation. Altså holde styr
på hvilke sessions der er initieret og hvilke brugere denne session er
tildelt.

(gøres ofte ved at gemme den sessions-streng brugeren fik af serveren
sammen med deres login-oplysninger i din database tilhørende applikationen)
"

- Men hvordan gør jeg rent praktisk dette? (jep, - jeg er nybegynder).

Mvh

John






Thomas Finnerup (26-11-2005)
Kommentar
Fra : Thomas Finnerup


Dato : 26-11-05 13:04

On Fri, 25 Nov 2005 21:31:45 +0100, "John Kjoller"
<john@skrivikkedette-basix.dk> wrote:

> Hvis man har et bruger-login-system, hvor man benytter:
>
> $_SESSION['authenticated'] = true;
>
> - Er det så muligt at tælle hvor mange sessions, der er gang i, lige nu?

Du kan glob()'e /tmp/sess_* (eller hvor dine sessions nu ligger) og
med stat() checke hvor mange af dem, der er ændret inden for f.eks. 5
minutter.


Venligst
Thomas

John Kjoller (26-11-2005)
Kommentar
Fra : John Kjoller


Dato : 26-11-05 13:13

Thomas skrev:
> Du kan glob()'e /tmp/sess_* (eller hvor dine sessions nu ligger) og
> med stat() checke hvor mange af dem, der er ændret inden for f.eks. 5
> minutter.
>

John:
Men det tjekker MINE sessions,- altså sessions jeg som bruger har gang i. -
Eller hvad?
Jeg vil gerne have mit site til at tjekke hvor mange sessions det har gang i
(for at kunne tælle hvor mange brugere, der er online).

Jeg er godt klar over at jeg sikkert ikke er særlig klar i min forespørgsel.
Det er svært, når man er så uerfaren, som jeg er.

Kh
john



Mads Lie Jensen (26-11-2005)
Kommentar
Fra : Mads Lie Jensen


Dato : 26-11-05 13:49

On Sat, 26 Nov 2005 13:13:15 +0100, "John Kjoller"
<john@skrivikkedette-basix.dk> wrote:

>> Du kan glob()'e /tmp/sess_* (eller hvor dine sessions nu ligger) og
>> med stat() checke hvor mange af dem, der er ændret inden for f.eks. 5
>> minutter.
>>
>
>Men det tjekker MINE sessions,- altså sessions jeg som bruger har gang i. -
>Eller hvad?

Nej.
Sessiondata gemmes på serveren, ved at bruge metoden som Thomas
anbefaler, så finder du ud af hvilke session-data der ligger på serveren
og hvilke der er blevet ændret inden for et givent tidsrum.

Jeg er dog lidt i tvivl om, om Thomas' metode er smart/sikker/rigtig. Er
det f.eks på et webhotel med mange sites, så kan jeg da snildt
forestille mig at man også får talt de andres session'er med.


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
-snart med hund: http://vedskovens.dk/d/hv/2005_olivia/051030/051030_d2.htm

Gartneriet - snart i ny indpakning: http://ny.gartneriet.dk

Thomas Finnerup (26-11-2005)
Kommentar
Fra : Thomas Finnerup


Dato : 26-11-05 14:41

On Sat, 26 Nov 2005 13:49:14 +0100, Mads Lie Jensen
<mads@gartneriet.dk> wrote:

> Jeg er dog lidt i tvivl om, om Thomas' metode er smart/sikker/rigtig. Er
> det f.eks på et webhotel med mange sites, så kan jeg da snildt
> forestille mig at man også får talt de andres session'er med.

Det' rigtigt. Så må man eventuelt ændre session.save_path, hvis man
har mulighed for det.


Venligst
Thomas

Mads Lie Jensen (26-11-2005)
Kommentar
Fra : Mads Lie Jensen


Dato : 26-11-05 16:26

On Sat, 26 Nov 2005 14:40:31 +0100, Thomas Finnerup <TF@Picco.dk> wrote:

>> Jeg er dog lidt i tvivl om, om Thomas' metode er smart/sikker/rigtig. Er
>> det f.eks på et webhotel med mange sites, så kan jeg da snildt
>> forestille mig at man også får talt de andres session'er med.
>
>Det' rigtigt. Så må man eventuelt ændre session.save_path, hvis man
>har mulighed for det.

Det må også være muligt at gøre vha. en database.
For hver gang man har startet/læst en session på en php-side, smider man
et timestamp i en simpel databasetabel:
INSERT INTO sessions (tid) VALUES (now());

og så kan man jo passende hive ud hvor mange aktive sessions der er ved
at lave en
SELECT COUNT(*) FROM sessions WHERE tid >= now() - 5 minutes;

(Jaja, det er hverken gyldig php-kode eller gyldig sql, men for
eksemplets skyld...)

Men det er da en mulighed at gøre det sådan - god eller ej.

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
-snart med hund: http://vedskovens.dk/d/hv/2005_olivia/051030/051030_d2.htm

Gartneriet - snart i ny indpakning: http://ny.gartneriet.dk

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

Månedens bedste
Årets bedste
Sidste års bedste