webForumDet fria alternativet

Hjälp

ASP

2 svar · 217 visningar · startad av sin_adec

Medlem sedan apr. 2002272 inlägg
Frågan#1

Jag har gjort en mini Community bara för att träna hjärnan.
men när man ska logga in och man har skrivit in anv och lösenordet så loggas man in.. men när det kommer
till att man ska kolla sina uppgifter så är tanken att länken ska vara: JAG.ASP?ID=8

Men första gången man loggar in så blir länken: JAG.ASP?ID=
men försöker man igen så blir det: JAG.ASP?ID=8

men jag förstår inte vad som är fel varför id nr inte kommer med... så här ser koden ut...

<%

if Len(Request.Form("losen")) < 1 OR Len(Request.Form("anv")) < 1 then
session("fel") = "Du måste skriva in både LogginID och Lösen"
Response.Redirect("loggain.asp")
end if

Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")&";pwd=losenord"
stm = "SELECT * FROM medlemmar WHERE Anv = '"& Request.Form("Anv") &"' AND Losen = '"& Request.Form("losen") &"' "
set Recset = Connection.Execute(stm)

IF NOT Recset.EOF then
session("online") = "japp"
session("anv") = Recset("anv")
Session("Status") = "Online"
Session("id") = Recset("id")
Session("fnamn") = Recset("fnamn")
Session("losen") = Recset("losen")
Session("kolla")="Nytt!"
Session("info") = Recset("info")
Session("enamn") = Recset("enamn")
Session("email") = Recset("email")
Session("bild") = Recset("bild")
Session("fel") = ""
Response.Redirect("index.asp")

Else

Session("fel") = "Det finns ingen användare med det lösenordet eller det användareID"
Response.Redirect("../loggain.asp")

end if

RS.close
Connection.Close
%>

Medlem sedan juni 20019 519 inlägg
#2

För det första.. varför så många sessions?
och vad vill du har querystringen?

Medlem sedan juni 20003 076 inlägg
#3

sessions kan vara bra men bör inte användas om det inte behövs. ;)
detta är kanske en lösning:

IF NOT Recset.EOF then 

Response.Redirect("index.asp?id=" & Recset("id") & "")

Else 

Session("fel") = "Det finns ingen användare med det lösenordet eller det användareID" 
Response.Redirect("../loggain.asp") 

end if

och på index.asp hämtar du medlemmen:
stm = "SELECT * FROM medlemmar WHERE id =" & Request.Querystring("id") & " " 
set Recset = Connection.Execute(stm)
264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)