Avatar billede fomse Nybegynder
16. september 2004 - 11:54 Der er 5 kommentarer og
1 løsning

Hvorfor virker dette login ikke

Jeg har følgende simple login, men redirecterrorPage virker ikke!
Hvad gør jeg galt?

<%
Dim Conn, RS, userName, passWord, redirectPage, redirecterrorPage
set Conn = SErver.CreateObject("ADODB.Connection")
if( Request.ServerVariables("REQUEST_METHOD") = "POST" ) then       
  userName = Request.Form("userName")
  passWord = Request.Form("passWord")
  Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db.mdb") 
  SQL = "SELECT * FROM login WHERE username LIKE '" & userName & "' AND password LIKE '" & passWord & "'"
  Set RS = Conn.Execute( SQL )
  if( NOT RS.EOF ) then
    response.redirect( RS("redirectPage") )

  else
  response.redirect( RS("redirecterrorPage") )
 
  end if 
  end if       
%>
Avatar billede fennec Nybegynder
16. september 2004 - 12:13 #1
if( NOT RS.EOF ) then
    response.redirect( RS("redirectPage") )
  else
    'Din rs er jo tom så du kan ikke hente noget ud her.
    response.redirect( RS("redirecterrorPage") )
  end if
Avatar billede fennec Nybegynder
16. september 2004 - 12:15 #2
og man bruger aldrig LIKE til login. Det skal være den den præsise indtastning

... username='" & userName & "' AND password='" & passWord & "'"
Avatar billede fomse Nybegynder
16. september 2004 - 12:22 #3
fennec>>

Har ændret det med LIKE:-)
Men hvordan redirecter jeg hvis der fx. er tastet noget forkert ind?
Avatar billede fennec Nybegynder
16. september 2004 - 12:31 #4
Det er din IF sætning (min første post)
Hvis der ingen er der matcher er dit recordset jo tom, hvilket du også laver et tjek på.
Hvis den ikke er tom redirecter du til RS("redirectPage") hvilket er fint. Men hvis den er tom redirecter du til RS("redirecterrorPage"). Det kan du jo ikke da dit recordset er tom.

response.redirect( RS("redirecterrorPage") )
Kan altså ikke være dynamisk, da du ikke ved hvilken bruger du har fat i. Den skal skal derfor være statisk:
response.redirect("DinErrorPage.asp")
Avatar billede fomse Nybegynder
16. september 2004 - 12:40 #5
Jeg takker!!
Er der en mulighed for at den side der redirectes til ved login tjekker om man kommer fra loginsiden?
Avatar billede fennec Nybegynder
16. september 2004 - 12:55 #6
Du kan altid sende en linje med på url'en som du så henter med request.querystring()

response.redirect("DinErrorPage.asp?KommerFra=login")
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