webForumDet fria alternativet
Logga in / Bli medlem

Session probbs.

ASP

1 svar · 185 visningar · startad av CapooN

Medlem sedan nov. 200064 inlägg
Frågan#1

Tjena. Jag har en databas med en tabell som heter tbl_members
sen har jag 5 kollumner i den. Det är en Access databas. Kollumerna är
Fld_userid
Fld_username
Fld_password
Fld_name
Fld_email

Jag checkar fall personen har skrivit rätt med

<%
'importing variables from loginpage
userlog = Request.Form("userlog")
passlog = Request.Form("passlog")

'Skapa ett server objekt för att koppla mot en Databas
Set dbConn = Server.Createobject("ADODB.connection")
'Öppna databasen
dbConn.Open "DRIVER={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.Mappath("db34345.mdb")

' Extracting the hits from the database
list    = "SELECT \* FROM tbl_members WHERE fld_username='" & userlog & "' AND fld_password='" & passlog & "' "
Set rs = dbConn.Execute(list)

' setting login true or false status
If rs.EOF Then

    Session("logged_status") = FALSE
    Response.redirect("errorpass.html")

Else

    user = rs("fld_userid")
    Response.redirect("http://www." & user & " ")

End If

%>

Nu vill jag gör en session som gör att man måste logga in för att komma till sidan som man redirectas till när man skrivit rätt lösen. Man ska alltså inte kunna skriva rätt adress bara.
Jag testade med

<%if Request.Cookies("Username") <> "" then
Response.Redirect ("send them to view the web site")
session("submitted")="false"
else
'send them back to login page
Response.Redirect "index.html"
Response.End
end if%>

Detta la jag i en fil som ja döpte till check.asp sen la ja till include file = check.asp i den sidan där man skulle komma till när man logga in rätt.

Men jag kan inte logga in. Även fast jag skriver rätt pass så hoppar den tillbaka till login sidan ändå.

Medlem sedan aug. 2000304 inlägg
#2

Hmmm.... Vad skall man säga?

Fel no 1.
Du sätter aldrig Cookien som du eterfrågar på "sida 2"

Fel no 2.
Du sätter inte heller någon Session när en anvädare verkligen har loggat in.

Om du bara bestämmer dig för vilken typ av kontroll du skall använda Kakor eller Sessioner.

Så gör du enligt följande.
När en användare loggar in och klarar inloggningen.
Så sätter du:
Kaka: Response.Cookies("Login") = "True"
Session: Session("Pass")=rs("fld_userid")

På sida/url Två:
Kolla om världet på det du valt att använda.
Kaka: Där har du gjort riktigt.
Session: If Session("Pass")<>"" Then
Else
Response.Redirect("Din_login_sida")
End IF

Hoppas att du förstår vad jag menar med detta.
P.S
Om du bestämt dig för ex. Sessioner kan du sedan kolla denna på ALLA sidor som skall skyddas.
Med If satsen ovan.
D.S Jag har ett färdigt Script för detta hemma hos mig

262 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)