22. november 2000 - 11:03Der er
17 kommentarer og 1 løsning
Sessions til login
Jeg har lavet en side hvór jeg skal lave en login.
Kilden ser ud som følger...-->
<%
set rsLogin = Server.CreateObject(\"ADODB.Recordset\") conn = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" conn = conn & \"DBQ=\" & server.mappath(\"noter.mdb\") Bruger = Request.Form(\"FBruger\") Pass = Request.Form(\"FPass\") SQLBruger =\"SELECT * FROM Tuser WHERE UserID = \'\"&Bruger&\"\'\" rsLogin.Open SQLBruger,conn
\'Undersøg om det er det rigtigt Password og send til loginsiden hvis det er forkert ellers sender den til Lektiesiden.
Response.Buffer = true If rsLogin.EOF = true Then Succes = \"nej\" Session(\"login\") = 0 Response.Redirect \"dologin.asp?error=user\" Else CheckPass = rsLogin.Fields(\"Password\") If Pass = CheckPass Then Succes = \"ja\" Session(\"Login\") = 1 Session(\"password-session\") = Request(\"username\") Response.Redirect \"displek.asp\" Else Succes = \"nej\"
Response.Redirect \"dologin.asp?error=pass\"
End If End If
rsLog.Execute(SQLLog)
%> Jeg skal have fundet ud af hvordan jeg kan gå ind og requeste den session til en anden siden. Jeg har en side hvor den skal finde ud af om personen er logget ind. Hvis han er det skal den bare gå til siden. Ellers skal den gå til login...
Har prøvet med denne kode... Men jeg kan ikke få den til at virke... <% \' Chekker om brugeren har en session. \' Hvis ikke så smides han af IF Session(\"password-session\") = \"\" Then Response.Redirect(\"dologin.asp\") end if
Sql = \"Select * FROM users WHERE username = \'\" & session(\"password-session\") & \"\'\" set ObjRS = objConn.Execute(SQL) %> %>
Efter ti år i London, Madrid, Paris og Utrecht kommer Sabios AI-fokuserede program af arrangementer om kundeoplevelser, ‘Disrupt’, for første gang til Danmark.
Sæt de følgende kode ind på de sider som skal \"beskyttes\" og sæt session(\"login\") til true og false. <% if session (\"login\") = false then Response.Redirect \"displek.asp\" end if %> Din session(2password-session\") hvad skal du med den? En session burde være nok.
Altså du har et script der checker om brugeren er logget ind? er det denne kode? <----snip----> <% \' Chekker om brugeren har en session. \' Hvis ikke så smides han af IF Session(\"password-session\") = \"\" Then Response.Redirect(\"dologin.asp\") end if
Sql = \"Select * FROM users WHERE username = \'\" & session(\"password-session\") & \"\'\" set ObjRS = objConn.Execute(SQL) %> %> <----snip--->
Ja det er den jeg har...! Men når den tjekker for om den session findes ... Går den bare tilbage til dologin.asp som man starter med at komme fra. Og det er et problem!
set rs = Server.CreateObject(\"ADODB.Recordset\") conn = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" conn = conn & \"DBQ=\" & server.mappath(\"noter.mdb\") Bruger = trim(Request.Form(\"FBruger\")) Pass = trim(Request.Form(\"FPass\")) SQL =\"SELECT * FROM Tuser WHERE UserID = \'\" & Bruger & \"\'\" rs.Open SQL,conn
\'Undersøg om det er det rigtigt Password og send til loginsiden hvis det er forkert ellers sender den til Lektiesiden.
If rs.EOF Then Response.Redirect \"dologin.asp?error=user\" Elseif rs(\"password\") = pass Then Session(\"Login\") = Request(\"username\") Response.Redirect \"displek.asp\" Else Response.Redirect \"dologin.asp?error=pass\" End If
rsLog.Execute(SQLLog) rs.close set rs = nothing set SQL = nothing conn.close set conn = nothing %>
----Formodentlig displek.asp--- <% response.buffer = true if session(\"login\") = \"\" Then Response.Redirect(\"dologin.asp\") end if %>
Nu har jeg prøvet det ... men det eneste den gør er at den går tilbage til dologin. UDEN AT FINDE FEJL ... Jeg forstår det ikke ... problemet er åbenbart at den session allerede er slettet inden jeg kommer ind på den næste side. Og derfor går den tilbage ! Meget mystisk!
Du har vel en form action ? <form action=\"dologin.asp\" method=\"post\"> <input type=\"text\" name=\"username\"> <input type=\"submit\" value=\"Login\"> </form>
set rs = Server.CreateObject(\"ADODB.Recordset\") conn = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" conn = conn & \"DBQ=\" & server.mappath(\"noter.mdb\") Bruger = trim(Request.Form(\"FBruger\")) Pass = trim(Request.Form(\"FPass\")) SQL =\"SELECT * FROM Tuser WHERE UserID = \'\" & Bruger & \"\'\" rs.Open SQL,conn
\'Undersøg om det er det rigtigt Password og send til loginsiden hvis det er forkert ellers sender den til Lektiesiden.
If rs.EOF Then Response.Redirect \"dologin.asp?error=user\" Elseif rs(\"password\") = pass Then Session(\"Login\") = Bruger Response.Redirect \"displek.asp\" Else Response.Redirect \"dologin.asp?error=pass\" End If
rsLog.Execute(SQLLog) rs.close set rs = nothing set SQL = nothing conn.close set conn = nothing %>
----Formodentlig displek.asp--- <% response.buffer = true if session(\"login\") = \"\" Then Response.Redirect(\"dologin.asp\") end if %> Sårn...nu SKAL det funke!
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.