Avatar billede psyclown Nybegynder
05. oktober 2002 - 00:57 Der er 7 kommentarer og
1 løsning

Sessions

Jeg er ved at lave et Intern mailsystem eller det er faktisk færdigt, men jeg har bare et lille problem.

Jeg har også lavet dette login script med autologin, som høre til.
I mit mail system har jeg en check på om den mail de læser tilhøre dem.
If Session("AdminID") = rsReadMail("MAIL_AFSENDER_USRID") or Session("AdminID") = rsReadMail("MAIL_MODTAGER_USRID") Then
Hvis så session.Timeout løber ud, så kan de ikke se deres mails, før at de har logget ud og ind igen. Hvis jeg så sætter Session.Timeout til 0 eller fjerner Session.timeout fra login scriptet, så sker der stadig det samme, hvis man vil læse sin mail, altså session.timeout løber stadigt ud.

Så er der også en anden underlig ting.
SQLMAILBOX = "SELECT * FROM MAILBOX WHERE MAIL_MODTAGER_USRID = "& Session("AdminID") &" "
SQLMAILBOX = SQLMAILBOX & "AND MAIL_SLETTET_AF_MODTAGER = False "
SQLMAILBOX = SQLMAILBOX & SQLORDERBY
Set rsMailBox = conntemp.execute(SQLMAILBOX)

Denne SQL streng virker stadig væk, selvom session.timeout er løbet ud, men det andet som er skrevet ovenover virker ikke.
Er der en der kan svarer mig på, hvorfor det ene virker, men det andet ikke gør ?

På forhånd tak!
Avatar billede psyclown Nybegynder
05. oktober 2002 - 00:59 #1
Der skal lige rettes en fejl...jeg har ikke prøvet at sætte session.timeout = 0, men jeg vil tro at det er det samme som bare at være det helt.
Avatar billede excession Nybegynder
05. oktober 2002 - 02:39 #2
der er måske en fejl i koden et sted som gør at session løber ud..?
Avatar billede psyclown Nybegynder
05. oktober 2002 - 02:53 #3
Her er mit login script, som sætter session.timeout

>> autologin.asp (som er indcluderes på alle sider)<<

<%
    If Not Session("AdminPass") = "OK" Then
        If Request.Cookies("autologin_cichlide-net")("AdminPass") = "OK" Then   
            Session("AdminPass")            = "OK"
            Session("AdminUser")            = Request.Cookies("autologin_cichlide-net")("AdminUser")
            Session("AdminAlias")            = Request.Cookies("autologin_cichlide-net")("AdminAlias")
            Session("AdminLevel")            = Request.Cookies("autologin_cichlide-net")("AdminLevel")
            Session("AdminID")              = Request.Cookies("autologin_cichlide-net")("AdminID")
            Session("AdminEmail")            = Request.Cookies("autologin_cichlide-net")("AdminEmail")
            Session("AdminTime")            = Time
            Session("AdminDate")            = Date
                        Session.Timeout = 120
            log(session("AdminUser") & " **LOGGED ON !AUTOLOGIN!**")
            'Call AddOnlineUser()
            Set conntemp = Server.CreateObject("ADoDB.Connection")
            conntemp.open DSN
            SQLSIDSTLOGGETIND = "UPDATE USERS SET U_SIDST_LOGGET_IND = #"& Now() &"# WHERE UID = "& Session("AdminID")
            conntemp.Execute(SQLSIDSTLOGGETIND)
        End If
    End If
%>

>> login.asp (selve login siden)<<

<%
    If request("mode") = "checkpass" Then
        On Error Resume Next
        Set conntemp = Server.CreateObject("ADoDB.Connection")
        conntemp.open DSN
        SQL = "SELECT * FROM USERS WHERE U_BRUGERNAVN = '"& Request("U_BRUGERNAVN") &"'"
        Set rstemp = conntemp.Execute(SQL)

        If Not Request("U_PASSWORD") = rstemp("U_PASSWORD") Then
            log("(" & Request("U_BRUGERNAVN") & ") ** MISSTYPED PASSWORD **")
            Response.Redirect "index.asp"
        Else           
            Session("AdminPass")        = "OK"
            Session("AdminUser")    = rstemp("U_BRUGERNAVN")
            Session("AdminAlias")    = rstemp("U_NAVN")
            Session("AdminLevel")    = rstemp("U_USRLEVEL")
            Session("AdminID")      = rstemp("UID")
            Session("AdminEmail")    = rstemp("U_EMAIL")
            Session("AdminTime")    = Time
            Session("AdminDate")    = Date
            Session.Timeout          = 120
            If Request("autologin") = "OK" Then
              Response.Cookies("autologin_cichlide-net")("Adminpass")    = "OK"
              Response.Cookies("autologin_cichlide-net")("AdminUser")    = rstemp("U_BRUGERNAVN")
              Response.Cookies("autologin_cichlide-net")("AdminAlias")    = rstemp("U_NAVN")
              Response.Cookies("autologin_cichlide-net")("AdminLevel")    = rstemp("U_USRLEVEL")
              Response.Cookies("autologin_cichlide-net")("AdminID")      = rstemp("UID")
              Response.Cookies("autologin_cichlide-net")("AdminEmail")        = rstemp("U_EMAIL")
              Response.Cookies("autologin_cichlide-net").Expires = Now() + 365
            End If   
           
            log(session("AdminUser") & " ** LOGGED ON **")
            'Call AddOnlineUser()
            Set conntemp = Server.CreateObject("ADoDB.Connection")
            conntemp.open DSN
            SQLSIDSTLOGGETIND = "UPDATE USERS SET U_SIDST_LOGGET_IND = #"& Now() &"# WHERE UID = "& Session("AdminID")
            conntemp.Execute(SQLSIDSTLOGGETIND)
            Response.Redirect "index.asp"
            rstemp.close
            Set rstemp = Nothing
        End If

    ElseIf request("mode") = "logoff" Then
        log(session("AdminUser") & " ** LOGGED OFF **")
        Response.Cookies("autologin_cichlide-net").Expires = dateadd("y",-1,now)
        Session("AdminPass")    = "NOTOK"
        Session("AdminAlias")    = ""
        Session("AdminUser")    = ""
        Session("AdminNavn")    = ""
        Session("AdminLevel")    = ""
        Session("AdminID")      = ""
        Session("AdminEmail")    = ""
        Response.redirect "index.asp"
    End If
%>
Avatar billede excession Nybegynder
05. oktober 2002 - 02:55 #4
Session.Timeout = 120 er jo kun lig med 2 minutter...
Avatar billede psyclown Nybegynder
05. oktober 2002 - 03:08 #5
Det virker fint nok man logger ind, men hvis man har autologin på og lukker browseren og starter siden igen, så har den slettet alle sessions, men ikke alle steder f.eks. ikke her:
SQLMAILBOX = "SELECT * FROM MAILBOX WHERE MAIL_MODTAGER_USRID = "& Session("AdminID") &" "
SQLMAILBOX = SQLMAILBOX & "AND MAIL_SLETTET_AF_MODTAGER = False "
SQLMAILBOX = SQLMAILBOX & SQLORDERBY
Set rsMailBox = conntemp.execute(SQLMAILBOX)

Men det gør den i den anden linje som jeg skrev i mit første indlæg....
Avatar billede erikjacobsen Ekspert
05. oktober 2002 - 08:56 #6
Er du sikker på siden ikke bare er cachet i browseren. Prøv
at opdatere - evt. bruge noget andet end IE :)
Avatar billede psyclown Nybegynder
05. oktober 2002 - 22:17 #7
Det kan godt være at den virker med de nyere versioner af internet explore, men vi skal have den til at virke med at alle versioner af internet explorer...er der en måde hvorpå man kan gøre det ??
Avatar billede psyclown Nybegynder
05. oktober 2002 - 23:52 #8
Nå nu har jeg fået det hele til at virke. Jeg lavede bare min session om til en variabel og skrev variablen ud, så virkede det.
Men jeg kan da takke for jeres forsøg på at hjælpe...
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