|
| 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 (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 |
| | |
John Kjoller (26-11-2005)
| Kommentar Fra : John Kjoller |
Dato : 26-11-05 12:57 |
| | |
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
| |
|
|