Avatar billede ellebaek Nybegynder
22. november 2000 - 11:03 Der 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) %>
%>

Håber på hjælp =))

-->Ellebæk
Avatar billede kornfreak Nybegynder
22. november 2000 - 11:05 #1
Prøv at skifte Session(\"password-session\") ud med Session(\"login\") ?
Avatar billede ellebaek Nybegynder
22. november 2000 - 11:12 #2
det hjalp ikke ... Men ... problemet er at den næste side sender tilbage igen fordi den session ikke eksisterer!
Avatar billede tulle Nybegynder
22. november 2000 - 11:15 #3
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.
Avatar billede kornfreak Nybegynder
22. november 2000 - 11:16 #4
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--->
Avatar billede kornfreak Nybegynder
22. november 2000 - 11:18 #5
Nårh..
Avatar billede ellebaek Nybegynder
22. november 2000 - 11:45 #6
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!
Avatar billede tigerdyr Nybegynder
22. november 2000 - 12:54 #7
prøv at tjekke om: Request(\"username\") giver dig det resultat du forventer...det kunne jo lyde som om dine variabler er tomme.
Avatar billede ellebaek Nybegynder
22. november 2000 - 12:58 #8
... måske kan det laves som cookies istedet ...
hvis der er nogen der kan lave det vil jeg da gerne se et eksempel på det =)
Avatar billede ellebaek Nybegynder
22. november 2000 - 13:02 #9
Hvor skulle det med request(\"Username\") sættes ind ??
Avatar billede kornfreak Nybegynder
22. november 2000 - 13:05 #10
Okay..coockies sux :)
Prøv det her!

-----Loginscript--
<%
Response.Buffer = true

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
%>
Avatar billede ellebaek Nybegynder
22. november 2000 - 13:22 #11
...


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!
Avatar billede kornfreak Nybegynder
22. november 2000 - 13:27 #12
prøv at skrive response.write(request(\"username\")) istedet for Response.Redirect \"displek.asp\" i login scriptet..hvad står der så ?
Avatar billede kornfreak Nybegynder
22. november 2000 - 13:29 #13
Du har vel en form action ?
<form action=\"dologin.asp\" method=\"post\">
<input type=\"text\" name=\"username\">
<input type=\"submit\" value=\"Login\">
</form>
Avatar billede kornfreak Nybegynder
22. november 2000 - 13:31 #14
DOH!! ...
-----Loginscript--
<%
Response.Buffer = true

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!
Avatar billede ellebaek Nybegynder
22. november 2000 - 13:34 #15
Nu kan jeg i hvert fald komme ind på den side jeg skulle ind på!
Kan du så ikke også lave en logout ?
Så ville jeg blive MEEEEEEEEEEEEGET glad =)

~~Jens
Avatar billede kornfreak Nybegynder
22. november 2000 - 13:37 #16
Jow da :)
i din displek.asp
<a href=\"logud.asp\">Log ud</a>

lav en logud.asp

<%
response.buffer = true

if session(\"login\") <> \"\" Then
session(\"login\") = \"\"
response.write(\"Du er logget ud\")
else
response.redirect(\"dologin.asp\")
end if
%>
Avatar billede ellebaek Nybegynder
22. november 2000 - 13:47 #17
Tak for hjælpen ...=)
Nu virker den endelig ...!
Avatar billede kornfreak Nybegynder
22. november 2000 - 13:48 #18
Så lidt :)
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