fejl = "" If Request("Submit")<>"" Then If Request("brugernavn2") = rs("brugernavn") and _ Request("password2")= rs("password") Then Session("Valid") = Request("brugernavn2") Response.redirect "test.asp"
Else fejl = "Forkert brugernavn eller password. Prøv igen!" End If End If %>
Meningen er at den skal hente brugernavn og password fra databasen "login" men som det står nu melder den denne fejl:
ADODB.Recordset.1 error '80020009'
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.
Af sikkerheds grunde vil jeg anbefale at du laver dit script om.
If Request("Submit")<>"" Then strSQL = "SELECT * FROM login where brugernavn='"& replace(Request("brugernavn2"),"'","''") &"' and password='"& replace(Request("password2"),"'","''") &"'" Set rs = my_conn.Execute(strSQL) If not rs.eof Then Session("Valid") = Request("brugernavn2") Response.redirect "test.asp" Else fejl = "Forkert brugernavn eller password. Prøv igen!" End If End If
.. Hvis recordsettet er tom om man prøver at hente data fra den får du fejl. Det tager mit script også hånd om. Hvis det skulle gøre det i dit script skulle du have en if sætning omkring hele tjekket.
if not rs.eof then fejl = "" If Request("Submit")<>"" Then ... ... end if
ja - fennec er godt i gang så jeg behøver ikke sige så meget mere :)
udover - grunden til at du får den fejl er at du forsøger at spørge på nogle værdier - rs("brugernavn") og rs("password") - som jo ikke findes fordi databasen er tom.
morten_soegaard >> scriptet skal bruges præsist som det er. Der finder du en bruger, med det navn/pass som der er angivet, i databasen (vælger altså kun EN række og ikke hele tabellen, som kan være en sikkerheds brist). Hvis brugerne ikke eksistere (evt pga forkert indtastning) bliver man ikke logget ind.
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.