Avatar billede lund_dk Praktikant
14. marts 2007 - 21:16 Der er 4 kommentarer og
1 løsning

Fejl med global asa

Jeg har et forum hvor jeg sætter status i databen til 1 når en bruger logger på.. og så har denne kode i min global.asa som gerne skulle sætte online status til 0 igen når session ender..

MEN det er ikke altid det virker.. selvom en bruger har lukketr vinduet, og min sessio  timeout er på 15 min, kører den åbenbart ikke koden i min global.asa

Det underlige er, at det virker for det meste, og i få tilfælde får den ikke "Logget af" i databasen..

Hvad gør jeg galt..?




<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
    ' Skriv kode som skal køres når applikationen (serveren) starter
End Sub

Sub Application_OnEnd
    ' Skriv kode som skal køres når applikationen (serveren) stoppes
End Sub

Sub Session_OnStart
    ' Skriv kode som skal køres når en session starter
End Sub

Sub Session_OnEnd
    ' Skriv kode som skal køres når en session afsluttes
    DBsti = "d:\domains\brystplastik.dk\db\brystplastik.mdb"
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & dbsti & "; Jet OLEDB:Database Password=ditpassword"
    Conn.Execute("UPDATE medlemmer SET Online = 0 WHERE id=" & Session("id") & "")
   
 
End Sub
</SCRIPT>
Avatar billede a1a1 Novice
14. marts 2007 - 22:01 #1
Du gør nok ikke noget galt, "sessions" i asp er kendt for at fejle (på sessionOnEnd)

;o)
Avatar billede lund_dk Praktikant
15. marts 2007 - 08:13 #2
Kan jeg så løse der på en anden måde.. er ligeglad hvordan jeg får det til at fungere med en online brugerliste, bare jeg får det til at fungere..
Avatar billede kennedk Nybegynder
15. marts 2007 - 18:00 #3
nu er jeg lige hoppet fra php og til asp, men jeg vil mene at det er muligt :)
her er en liste over ting du skal gøre:
Sætte feltet online til 1, når brugeren logger ind og sætte et klokslet hvornår brugeren er logget ind.
Og så kan du lave en iframe hvor du har en kode i hvor der tjekker med de brugere der har online = 1 , og hvis tiden er fx 5 efter at den sidst blev sat, så skal den lave online = 0.
Hvis brugeren er logget ind så skal den tjekke om tiden er mindre en 5 min siden at den blev sat, og så skal der sættes en ny tid

Og så skal du have den iframe til at opdatere hver 4 minut.
Det vil sige at den tjekker om brugeren er online hver 4 minut

Det skulle meget gerne virke :) forklar hvis du ikke forstår fremgangsmåden
Avatar billede lund_dk Praktikant
15. marts 2007 - 21:21 #4
kennedk : Ja det var jo en mulighed..
har i forvejen en iframe til at stå og opdatere hver 5 min, så det er bare at bruge den og rette lidt til..

Jeg kigger på det :)

Smid et svar for idéen..
Avatar billede kennedk Nybegynder
15. marts 2007 - 22:00 #5
:)
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