Avatar billede tgl Nybegynder
03. maj 2001 - 14:24 Der er 5 kommentarer og
2 løsninger

Problemer med at redirecte til asp-side

Jeg har i nedenstående kode det problem at jeg skal redirectes til siden opret.asp nå jeg har undersøgt for at de indtastede oplysninger i formen ikker er at forefinde i min db, men det virker ikke.

Hvad gør jeg galt?


Kode:

..
If Request.Form(\"opretny\") = \"Opret\" Then

\' Her forberedes de indtastede værdier til validering
  strBruger = Request.Form(\"Brugernavn\")
  strPwd1 = Request.Form(\"pwd1\")
  strPwd2 = Request.Form(\"pwd2\")
  strMail = Request.Form(\"mail\")

\' Undersøger indtaset pwd for mangler og fejl
  If Len(strBruger) > 0 And Len(strPWD1) > 0 And Len(strPWD2) > 0 And Len(strMail) > 0 Then
    If (Len(strPWD1) <> Len(strPWD2)) OR ((strPWD1) <> (strPWD2)) Then
    strErr7 = \"Adgangskoderne er ikke ens.\"
    elseif ((Len(strPwd1) < 6) OR (Len(strPwd2) < 6)) Then
    strErr9 = \"Adgangskoden skal være på 6 karakterer.\"
    End if
    If  (Len(strPWD1) = Len(strPWD2)) AND ((strPWD1) = (strPWD2)) AND ((Len(strPwd1) = 6) OR (Len(strPwd2) = 6)) Then
      \' DSNLess forbindelse til databasen
      Set myConn = Server.CreateObject(\"ADODB.Connection\")
      myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"../db/karakter.mdb\")
      \' Opbygning af SQL streng
      SQLopret = \"SELECT Eid, Epwd, Enavn, Eemail FROM elev\" &_
      \" WHERE (Epwd = \'\" & strPwd1 & \"\') OR (Eemail = \'\" & strMail & \"\')\"
      \'response.write(SQLopret)
      Set rs = myConn.Execute(SQLopret)
      dim boolFoundUser
      boolFoundUser=false
      Do while not rs.EOF
      If (strPwd1 = rs(\"Epwd\")) Then 
        strErr10 = \"Adgangskoden tilhører anden bruger.\"
        elseIf (strMail = rs(\"Eemail\")) Then
        strErr11 = \"E-mail adressen tilhører anden bruger.\"
      End if
      rs.movenext
      Loop
      If boolFoundUser=false Then
        strErr12 = \"Bruger eksisterer ikke i databasen.\"
        \'response.redirect(\"opret.asp\")
      End If
      myConn.Close
      Set myConn = Nothing
    End if
    Elseif Len(strBruger) = 0 Or Len(strPWD1) = 0 Or Len(strPWD2) = 0 Or Len(strMail) = 0 Then
    strErr8 = \"Der skal indtastes i alle felterne!\"
  End if

\' Her laves fejlmeddelsen om til rød skrift
If Len(strErr7) > 0 Or Len(strErr8) > 0 Or Len(strErr9) > 0 Or Len(strErr10) > 0 Or Len(strErr11) > 0 Or Len(strErr12) > 0 Then
  strErr7  = \"<font color=red face=arial size=2>\" & strErr7 & \"</font>\"
  strErr8  = \"<font color=red face=arial size=2>\" & strErr8 & \"</font>\"
  strErr9  = \"<font color=red face=arial size=2>\" & strErr9 & \"</font>\"
  strErr10 = \"<font color=red face=arial size=2>\" & strErr10 & \"</font>\"
  strErr11 = \"<font color=red face=arial size=2>\" & strErr11 & \"</font>\"
  strErr12 = \"<font color=red face=arial size=2>\" & strErr12 & \"</font>\"
End If
End if
..

Avatar billede nil.dk Nybegynder
03. maj 2001 - 14:26 #1
Du har en \' foran din Response.Redirect
Avatar billede madd Nybegynder
03. maj 2001 - 14:28 #2
Hmm, så vidt jeg kan se, vil den hver eneste gang skrive at \"Bruger eksisterer ikke i databasen.\" ?

/Mattias
Avatar billede tgl Nybegynder
03. maj 2001 - 14:31 #3
Omkring de meddelelser som popper op i f.eks. tilfældet hvor password allerede eksisterer i db virker fint. Der hvor det ikke virker er når der er tjekket for det nødvendige og brugeren skal oprettes i db.
Avatar billede tgl Nybegynder
03. maj 2001 - 14:55 #4
jeg ved godt at der en \' for min response.redirect, men det har jeg ikke haft under testforsøgene.
Avatar billede cape Nybegynder
03. maj 2001 - 15:29 #5
Hvad siger fejlen-beskeden ???
Avatar billede bojohansen Nybegynder
04. maj 2001 - 01:52 #6
Hvoffor laver du ikke bare en lille

Set Conn = Server........
Set RsCheckBrugerNavn = Conn.execute(\"Select Feldt ...From....Where.. BrugernavnsFeldt = \'\" & strBruger & \"\'\")
If RsCheckBrugerNavn.EOF Then
Response.Redirect \"opret.asp\"
Else
Alt det andet du nu vil

Så sparer du også lidt på server kraften hvis strBruger ikke findes
Avatar billede bojohansen Nybegynder
04. maj 2001 - 01:53 #7
Hvis det er på en Win 2000 k server, så brug Server.Transfer \"opret.asp\" så sparer du også en tur til browseren og tilbage
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