Avatar billede fuxi Nybegynder
11. maj 2003 - 18:43 Der er 11 kommentarer og
1 løsning

Global.asa + update i database

Hejsa

Jeg har et lille problem. Jeg opdatere en database når en bruger logger ind. Den sætter blandt andet en bit der siger at nu er brugeren online i databasen.
Ud over det så bliver der sat en session("userID")

Det virker fint, mit problem er at den skal automatisk update datbasen når en session timer out.
Jeg har forsøgt at lave det i global.asa men det virker ikke efter hensigten for der sker ingenting. Intet bliver opdateret.

Min kode ser ud som følgende:

Sub Session_OnStart
    Session.Timeout = 20
    Session("Start") = Now
    Session("userID") = 8
End Sub

Sub Session_OnEnd
    If Session("userID") <> "" Then
        sql = "UPDATE users SET isOnline=0 WHERE userID=" & Session("userID")
        dbConAsa.Execute(sql)
    End If
End Sub

FYI!!! dbConAsa er min databaseforbindelse....

Jeg håber der er nogen der kan hjælpe :O)
Avatar billede mm12010 Nybegynder
11. maj 2003 - 18:50 #1
det er muligvis fordi du tester på Session("userID") efter sessionen er udløbet
Avatar billede -master-d- Nybegynder
11. maj 2003 - 18:52 #2
Det tror jeg også det er prøv med dette istedet.

Sub Session_OnStart
    Session.Timeout = 20
    Session("Start") = Now
    Session("userID") = 8
End Sub

Sub Session_OnEnd
        sql = "UPDATE users SET isOnline=0 WHERE userID=" & Session("userID")
        dbConAsa.Execute(sql)
End Sub

Det skulle gøre det.
Avatar billede -master-d- Nybegynder
11. maj 2003 - 18:52 #3
Nej det virker jo heller ikke da sessionen er udløbet. hmmm
Avatar billede fuxi Nybegynder
12. maj 2003 - 07:15 #4
PLEAAASEEEE HELP ME!!!!!!
Nu jeg tænker over det er jeg også ret overbevist at det skyldes at min session er udløbet. Men hvordan pokker gør jeg det så, for jeg har temmelig hårdt brug for en løsning.
Avatar billede mm12010 Nybegynder
12. maj 2003 - 11:34 #5
hvis det noget til at holde styr på online brugere kan du prøve at kigge her:

http://activedeveloper.dk/julekalender/julegaver/whoson.asp
http://activedeveloper.dk/aspdigital/2001060701.asp
Avatar billede fuxi Nybegynder
12. maj 2003 - 13:18 #6
Hmmm det er ikke så svært at tjekke hvor mange online brugere der er på ens side. Det har jeg allerede fået til at virke.. Og det er vist det at det første link viser... Mit problem er at jeg har en række brugere der er logget på, hvor man skal kunne se at de er logget på + man skal kunne registrere hvor lang tid de har været på samt nogle andre ting som der bliver sat i databasen.

Nogle af de ting der bliver sat i databasen skal opdateres når sessionen udløber. Problemet er bare at jeg skal fange "userID" som ligger i sessionen for at finde frem til hvilken post jeg skal opdatere. SÅ spørgsmålet er om man kan fange sessionen umiddelbart inden den udløber.
Avatar billede fuxi Nybegynder
12. maj 2003 - 13:24 #7
Det jeg gerne vil er noget ala dating og hotpeople. Hvor man hele tiden kan se hvilke brugere der er online.
Avatar billede capaj Nybegynder
12. maj 2003 - 14:01 #8
Hi,

husk session_onEnd sub'en kaldes ved enten
1) Du abondoner session "manuelt"
eller
2) session timer ud

Standard session timeout (win2000) er vist 20 min.
Efter min erfaring har du stadig adgang til session("userid") uden eksekvering af session_onEnd

/capaj
Avatar billede fuxi Nybegynder
12. maj 2003 - 15:41 #9
Ok... jeg er blevet klogere på mit problem... Men har endnu ikke løst det.

Mit problem er at folk hopper videre til en anden side uden at logge af... Eller de lukker deres browser uden at logge af. Global asas session_on_end reagere ikke når man lukker en browser eller hopper videre til en anden side. Den reagere først når der er gået de 20 min.. Hvilket jo ikke rigtig kan bruges til noget.

Så det jeg skal bruge er en måde at få lukket min session ned på når folk hopper videre..
Avatar billede fuxi Nybegynder
12. maj 2003 - 15:44 #10
Det har jeg fundet ud af kan gøres med at lave en PopUp der bliver kaldt når man forlader siden....

Det vil sige noget i retningen af <body onUnload="browserClosed();"
hvor browserClosed så indeholder noget kode der så rydder op og opdatere databasen.

Men mit problem er lige nu at vinduet åbner hver gang jeg skifter side, det vil sige det åbner også når jeg hopper rundt internt på siden. Hvordan pokker undgår jeg det ???

Jeg er villig til at give 100 point mere for at få en løsning der virker.
Avatar billede fuxi Nybegynder
19. maj 2003 - 09:22 #11
Jeg har desværre ikke fået svar på mit spørgsmål så jeg lukker igen.. Hvis der er nogen der finder et svar.. Så må i meget gerne smide en note her, så åbner jeg et spørgsmål og givet gerne 100 point til et svar..
Avatar billede fuxi Nybegynder
19. maj 2003 - 09:22 #12
Lukker
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