02. april 2001 - 15:37Der er
18 kommentarer og 1 løsning
login (for resten af mine point!) please help!
Jeg har lavet en login-side til mit admin-modul. Det virker faktisk - men kun med det første recordset i databasen. Tilføjer jeg et (fx : Username=test, Passwrod=test) virker det ikke. Det er et eller andet - \"do until rs.eof\" jeg ikke kan få grejet - er der en ekspert da lige kan gennemskue det? I må meget gerne indsætte den ekstra stykke kode i den jeg allerede har lavet (nederst).
Nedenstående er den side der tjekker de input man indtastet i login-formularen:
<% Username = request.form(\"Username\") Password = request.form(\"Password\") %> <% \'-- Connection to DB Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT * FROM Users\" Set RS = RS.Execute(SQL)
if (RS(\"Username\")) = (request.form(\"Username\")) and (RS(\"Password\")) = (request.form(\"Password\")) then session(\"Login\") = true session (\"Email\") = RS(\"Email\") session(\"Username\") = RS(\"Username\") response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=loggedin.asp\"\">\")
else session(\"Login\") = \"\" response.write (\"<meta http-equiv=\"\"refresh\"\" content=\"\"0;URL=default.asp\"\">\") end if %>
mit opkast... er ikke testet! <% \'-- Connection to DB Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT username, password FROM Users where username = \'\"&request.form(\"username\")&\"\' and password = \'\"&request.form(\"password\")&\"\' \"
set res = rs.Execute(SQL) n = res.eof if n >= 0 then a = res.getrows() for row = 0 to ubound(a,2) session(\"Login\") = true sessiom(\"Email\") = a(0,row) session(\"Username\") a(1,row) next
aha - men \"problemet\" er jo bare - at min egen faktisk virker ok - jeg ved bare ikke lige hvordan den skal tjekke næste recordset - \"do until rs.eof\". Kan ikke finde ud af at angive det rigtigt!
aha - men \"problemet\" er jo bare - at min egen faktisk virker ok - jeg ved bare ikke lige hvordan den skal tjekke næste recordset - \"do until rs.eof\". Kan ikke finde ud af at angive det rigtigt!
Her er lidt at begynde på, så kan du selv brygge videre! <% Username = request.form(\"Username\") Password = request.form(\"Password\") %> <% \'hvis % er i username variablen udskift med h! replace(username,\"%\",\"h\")
\'hvis du vil gøre mongoler opmærksom på at de ikke kan logge ind med wildcards o.lign. kan du bruge følgende: if instr(username,\"%\") then response.redirect \"login.asp?mode=wild\" else ....log dem ind end if
\'*********login.asp********* if request.querystring(\"mode\") = \"wild\" then strMessage = \"Du anvender forkerte tegn\" end if
if not isempty(strmessage) then response.write strmessage else .....resten af dit indhold på siden end if %>
jeps... glemte lige at du skal assigne den replacede streng til en ny var! Men gør således, så sparer du lidt kode!
listeResWords = (\"%,*,?,&,¤,½,@,(,),{,},[,]$,£,§,1,2,3,4,5,6,7,8,9,0\") arrResWords = split(listeResWords,\",\") username = request.form(\"username\") for i = 0 to ubound(arrResWords) if instr(username,arrResWords(i)) then Response.Redirect \"login.asp?mode=wild\" else ...log folk ind.,..... end if next
Enten er det mig der er en kegle eller også har jeg stirret mig blind på lortet - hvorom altin er -virker skidtet ikke! kan du se hvad/om der mangler noget?!
<% listeResWords = (\"%,*,?,&,¤,½,@,(,),{,},[,]$,£,§,1,2,3,4,5,6,7,8,9,0\") arrResWords = split(listeResWords,\",\") Username = request.form(\"Username\") for i = 0 to ubound(arrResWords) %>
<%Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT * FROM Users where Username = \'\" & Username & \"\' and Password = \'\" & Password & \"\'\" Set RS = RS.Execute(SQL) do while not RS.eof
if instr(Username,arrResWords(i)) then Response.Redirect \"default.asp\"
<% listeResWords = (\"%,*,?,&,¤,½,@,(,),{,},[,]$,£,§,1,2,3,4,5,6,7,8,9,0\") arrResWords = split(listeResWords,\",\") Username = request.form(\"Username\") for i = 0 to ubound(arrResWords) if instr(Username,arrResWords(i)) then Response.Redirect \"default.asp\" else Username = Username end if %>
<%Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT * FROM Users where Username = \'\" & Username & \"\' and Password = \'\" & Password & \"\'\" Set RS = RS.Execute(SQL) do while not RS.eof
*hydr* havde sgu glemt next i forløkken... skulle være rettet i nendestående <% listeResWords = (\"%,*,?,&,¤,½,@,(,),{,},[,]$,£,§,1,2,3,4,5,6,7,8,9,0\") arrResWords = split(listeResWords,\",\") Username = request.form(\"Username\") for i = 0 to ubound(arrResWords) if instr(Username,arrResWords(i)) then Response.Redirect \"default.asp\" else Username = Username end if next %>
<%Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT * FROM Users where Username = \'\" & Username & \"\' and Password = \'\" & Password & \"\'\" Set RS = RS.Execute(SQL) do while not RS.eof
her: <% listeResWords = (\"%,*,?,&,¤,½,@,(,),{,},[,]$,£,§,1,2,3,4,5,6,7,8,9,0\") arrResWords = split(listeResWords,\",\") Username = request.form(\"Username\") for i = 0 to ubound(arrResWords) if instr(Username,arrResWords(i)) then Response.Redirect \"default.asp\" else Username = Username end if next %>
<%Set RS = server.CreateObject(\"ADODB.connection\") RS.open ConnString SQL = \"SELECT * FROM Users where Username = \'\" & Username & \"\' and Password = \'\" & Password & \"\'\" Set RS = RS.Execute(SQL) do while not RS.eof
Næsten - men jeg tager den herfra! Det skal nok virke! Tak for hælpen!
Synes godt om
Ny brugerNybegynder
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.