Avatar billede Slettet bruger
06. februar 2006 - 05:45 Der er 2 kommentarer og
1 løsning

Hvordan med Global.asa?

Hejsa

Jeg har siddet og kigget lidt her:
http://www.9am.dk/scripts/global.asp
Dette synes jeg er meget interessant, men det skal laves lidt om, tror jeg, for at jeg kan bruge det til noget...
Det er sådan at på mit website har jeg et login-område, hvor brugeren, når han/hun logger sig ind får en identifikation som hedder "Session("id")" id-nummeret er altså det nummer som brugeren har i brugerdatabasen...
Hvordan kan man lave det her global.asa-script sådan at det kun udskriver antallet at brugere som har en Session("id"), som er større eller mindre end ingenting?

- Håber I forstår...

\Dan
Avatar billede The Real Yoda Juniormester
06. februar 2006 - 09:23 #1
Prøv med....

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
Application("ActiveUsers") = 0
End Sub

Sub Session_OnStart
Session.Timeout = 5  ' Ændring af Session Timeout kan foretages her (20 = 20 minutter)
Session("Start") = Now
Application.Lock
'Application("ActiveUsers") = Application("ActiveUsers") + 1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
if session("id")<>"" then Application("ActiveUsers") = Application("ActiveUsers") - 1
Application.UnLock
End Sub

</SCRIPT>

Så tæller den kun ned når det er en registreret bruger der logger ud.. og tæl op er slået fra..

Så mangler du bare på din login side at skrive

Application("ActiveUsers") = Application("ActiveUsers") + 1

Når en logger ind..
Avatar billede Slettet bruger
06. februar 2006 - 18:30 #2
OK... det prøver jeg lige...
Er det så på nogen måde muligt at få global.asa til også at vise listen over de Session("id")´s som der er logget ind lige nu...?
Sådan at jeg kan sammenligne dem i min database og så skrive navnene på dem...

\Dan
Avatar billede The Real Yoda Juniormester
07. februar 2006 - 09:03 #3
tror ik lige du kan få global.asa til at vise dem ..

men du kunne lave en application variabel som indeholder dem alle

ved når man logger ind :

Application("ActiveUsers") = Application("ActiveUsers") + 1
Application("ActiveUsersID") = Application("ActiveUsersID") & right("00000000"&session("id"),8)&","

her er linjen fra før samt en ny linje som lægger session("id") samme med de andre session("id")'s i en variabel.

Så skal du have linjen der fjerne dem igen ..

gøres nemmest ved at skrive denne om :
if session("id")<>"" then Application("ActiveUsers") = Application("ActiveUsers") - 1

til :
if session("id")<>""
then Application("ActiveUsers") = Application("ActiveUsers") - 1
Apllication("ActiveUsersID")=replace(Apllication("ActiveUsersID"),right("00000000"&session("id"),8)&",","")
end if


Apllication("ActiveUsersID") skulle nu gerne se sådan ud : 00000001,00000006,00000013,

osv.. alt efter hvor mange og hvilke id der er logget ind..

herfra skulle det bare være at hente dem ud igen :)
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
Kurser inden for grundlæggende programmering

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