Avatar billede psyclown Nybegynder
13. maj 2003 - 19:24 Der er 6 kommentarer og
2 løsninger

Global.asa og Session_OnEnd

Jeg har lavet et online brugere script, det virker fint når brugeren skal tilføjes til online listen, men når de skal slettes igen, når de har lukket browseren eller lign. vil den ikke virker.

Jeg har en global.asa, hvor jeg i min Session_OnStart tilføjer dem til en database med Session.SessionID, UsrID, login tid osv.
Så har jeg en side som er includeret på alle sider, hvor den updaterer databasen med tiden nu, hvor de befinder sig osv.
Og i min Session.OnEnd har jeg en SQL som skulle slette dem fra databasen, men det er så mit problem at den ikke gør det.
Jeg har også prøvet med at regne antal minutter ud imellem tiden de loggede ind og tiden som sidst var logget på dem også sige at hvis den er større end Session.Timeout, så skal den slette dem, men det virkede heller ikke.

'################# GLOBAL.ASA START #################
<script language="VBScript" runat="Server">
    Sub Session_OnStart
        Session.Timeout = 5

        If Request.Cookies("autologin_cichlide-net")("Adminpass") = "OK" Then
            OnlineUsrID = Request.Cookies("autologin_cichlide-net")("AdminID")
            OnlineBrugernavn = Request.Cookies("autologin_cichlide-net")("AdminAlias")

            DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../database/sdfl3s344zzkltat.mdb")
            Set conntemp = Server.CreateObject("ADoDB.Connection")
            conntemp.open DSN
            SQL_LOGIN = "INSERT INTO BRUGERE_ONLINE "
            SQL_LOGIN = SQL_LOGIN & "(SID, O_USRID, O_BRUGERNAVN, O_TID_LOGGED_IND) "
            SQL_LOGIN = SQL_LOGIN & "VALUES "
            SQL_LOGIN = SQL_LOGIN & "('"& Session.SessionID &"', '"& OnlineUsrID &"', '"& OnlineBrugernavn &"', #"& Time() &"#)"
            conntemp.Execute(SQL_LOGIN)
        End If
    End Sub

    Sub Session_OnEnd
        DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../database/sdfl3s344zzkltat.mdb")
        Set conntemp = Server.CreateObject("ADoDB.Connection")
        conntemp.open DSN
        SQL_DELETE_LOGIN = "DELETE * FROM BRUGERE_ONLINE WHERE (O_UsrID = "& Request.Cookies("autologin_cichlide-net")("AdminID") &")"
        conntemp.Execute(SQL_DELETE_LOGIN)
        rsCheckLogin.Movenext
    End Sub
</script>
'################### GLOBAL.ASA END ####################
'#######################################################
'################# INCLUDE FILEN START #################
If Request.Cookies("autologin_cichlide-net")("Adminpass") = "OK" Then
    Set conntemp = Server.CreateObject("ADoDB.Connection")
    conntemp.open DSN
    SQL_UPDATE_LOGIN = "UPDATE BRUGERE_ONLINE SET "
    SQL_UPDATE_LOGIN = SQL_UPDATE_LOGIN & "O_TID_ONLINE = #"& Time() &"#, O_SIDSTE_SIDE = '"& Request.ServerVariables("SCRIPT_NAME") &"' WHERE (O_UsrID = "& Request.Cookies("autologin_cichlide-net")("AdminID") &")"
    conntemp.Execute(SQL_UPDATE_LOGIN)
End If
'################# INCLUDE FILEN END #################

På forhånd tak!
Avatar billede psyclown Nybegynder
13. maj 2003 - 19:29 #1
jeg skal lige spise, så jeg svarer ikke lige med det samme
Avatar billede hossein Nybegynder
13. maj 2003 - 19:34 #2
kig på dette ex og tilret/tilpas til din Kodning:
http://www.codeproject.com/asp/user_logtime.asp?target=online
Avatar billede erikjacobsen Ekspert
13. maj 2003 - 20:03 #3
Du bør ikke kunne bruge request.cookies i din session_onend. Der er ingen
request, langt mindre nogen cookies.
Avatar billede psyclown Nybegynder
13. maj 2003 - 20:27 #4
okay, nu har jeg sat et ja/nej felt ind og gjort det her:

Sub Session_OnEnd
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../database/sdfl3s344zzkltat.mdb")
    Set conntemp = Server.CreateObject("ADoDB.Connection")
    conntemp.open DSN
    SQL_MARK_OFFLINE = "UPDATE BRUGERE_ONLINE SET O_OFFLINE = True WHERE O_OFFLINE = False AND (SID = "& Session.SessionID &")"
    conntemp.Execute(SQL_MARK_OFFLINE)
End Sub

Det virker heller ikke...
Avatar billede psyclown Nybegynder
13. maj 2003 - 23:53 #5
lidt hjælp evt. ?? :)
Avatar billede hossein Nybegynder
14. maj 2003 - 19:10 #6
Du kan downloade hele kilde koden til eksampelen fra dette link jeg skrev til dig og kig på det.
Avatar billede psyclown Nybegynder
14. maj 2003 - 20:33 #7
Jeg ved godt hvordan det skal laves og hvordan det er bygget op osv. men jeg får ikke ret meget ud af at hente det script også kigge efter det...jeg vil gerne have mit eget script til at virke, jeg kan bare ikke lige se hvad jeg gør galt...
Avatar billede psyclown Nybegynder
17. maj 2003 - 22:09 #8
halvt svar
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