Avatar billede bojohansen Nybegynder
18. marts 2001 - 23:06 Der er 5 kommentarer og
1 løsning

Server side form validator.

Kan du lave denne så den først tjekker om FirstName, LastName, StreetName, StreetNumber, City, PostalCode, Country, State er udfyldt og så skal den lige tjekke om Email og RetypeEmail er ens.
YourId bliver lige tjekket om det allerede findes som det ses.
Hvis det ikke opfyldes skal den redirecte med alle feldter men dem som har mangler eller fejl skal fremstå på siden med en tekst over Tekstboksen. Alle feldter er Pt. tekst feldter, men jeg skal også lige have at vide hvad der skal stå hvis jeg vil bruge et Num feldt.

Det skal vel laves som For Each eller noget med et Array??

Ham der får det til at funge får point.

<%
SponsorId = request.Querystring(\"SponsorId\")
YourId = request.Querystring(\"YourId\")
FirstName = request.Querystring(\"FirstName\")
LastName = request.Querystring(\"LastName\")
StreetName = request.Querystring(\"StreetName\")
StreetNumber = request.Querystring(\"StreetNumber\")
City = request.Querystring(\"City\")
PostalCode = request.Querystring(\"PostalCode\")
Country = request.Querystring(\"Country\")
State = request.Querystring(\"State\")
Email = request.QueryString(\"email\")
RetypeEmail = request.Querystring(\"RetypeEmail\")

Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\\home\\formordk\\db\\member.mdb\"
    Set RS = conn.Execute (\"SELECT MedlemsIdNr From MedlemsInfo WHERE MedlemsIdNr =\'\" & YourId & \"\'\")
 
  if not rs.eof then
 
  errorMsgYourId = \"Your ID number is already in our database\"
 
    response.redirect \"errormsg.asp?errorMsgYourId=\" & errorMsgYourId & \"&YourId=\" & YourId & \"&Email=\" & Email & \"&RetypeEmail=\" & RetypeEmail & \"&Fornavn=\" & Fornavn
   
  end If
 
if Email <> RetypeEmail then 

errorMsgEmail = \"Email addresses is not identical\"

  response.redirect \"errormsg.asp?errorMsg=\" & errorMsg & \"&errorMsgYourId=\" & errorMsgYourId & \"&errorMsgEmail=\" & errorMsgEmail & \"&YourId=\" & YourId & \"&Email=\" & Email & \"&RetypeEmail=\" & RetypeEmail & \"&Fornavn=\" & Fornavn
   
    Else

    Response.Write (\"You are not a member yet, and the rest of the story comes soon\")
   
  End if 
%>
Avatar billede Slettet bruger
19. marts 2001 - 09:21 #1
Er det noget alá det her, du er ude efter:

<%
SponsorId = request.Querystring(\"SponsorId\")
YourId = request.Querystring(\"YourId\")
FirstName = request.Querystring(\"FirstName\")
LastName = request.Querystring(\"LastName\")
StreetName = request.Querystring(\"StreetName\")
StreetNumber = request.Querystring(\"StreetNumber\")
City = request.Querystring(\"City\")
PostalCode = request.Querystring(\"PostalCode\")
Country = request.Querystring(\"Country\")
State = request.Querystring(\"State\")
Email = request.QueryString(\"email\")
RetypeEmail = request.Querystring(\"RetypeEmail\")

If Not FirstName And LastName And StreetName And StreetNumber And City And PostalCode And Country And State = \"\" Then
  If Email = RetypeEmail Then
  response.redirect \"errormsg.asp?errorMsg=\" & errorMsg & \"&errorMsgYourId=\" & errorMsgYourId & \"&errorMsgEmail=\" & errorMsgEmail & \"&YourId=\" & YourId & \"&Email=\" & Email & \"&RetypeEmail=\" & RetypeEmail & \"&Fornavn=\" & Fornavn
  Else
  response.write \"De to e-mail adresser er ikke identiske!\"
  End If

    Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open(\"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\\home\\formordk\\db\\member.mdb\")
    Set RS = conn.Execute(\"SELECT MedlemsIdNr From MedlemsInfo WHERE MedlemsIdNr =\'\" & YourId & \"\'\")
 
  if not rs.eof then
 
  errorMsgYourId = \"Your ID number is already in our database\"
 
    response.redirect \"errormsg.asp?errorMsgYourId=\" & errorMsgYourId & \"&YourId=\" & YourId & \"&Email=\" & Email & \"&RetypeEmail=\" & RetypeEmail & \"&Fornavn=\" & Fornavn
   
  end If
 
if Email <> RetypeEmail then 

errorMsgEmail = \"Email addresses is not identical\"

  response.redirect \"errormsg.asp?errorMsg=\" & errorMsg & \"&errorMsgYourId=\" & errorMsgYourId & \"&errorMsgEmail=\" & errorMsgEmail & \"&YourId=\" & YourId & \"&Email=\" & Email & \"&RetypeEmail=\" & RetypeEmail & \"&Fornavn=\" & Fornavn
   
    Else

    Response.Write (\"You are not a member yet, and the rest of the story comes soon\")
   
  End if 
End If
%>
Avatar billede bojohansen Nybegynder
19. marts 2001 - 11:06 #2
Njaaaaa på en måde men det skal helst være sådant at man får en fejl meddelse på de feldter der ikke er udfyldt rigtigt, så folk ved hvorffor nogen det er de har glemt.

Kan man ikke chekke hvert feldt og tildele True eller False til det eller anden værdi for så i bunden at tjekke om alle feldter er True, hvis et feldt er False redirecter man så, hvor False feldtet medtages og ellers alle andre feldter med også.

Giver det fornuft??
Avatar billede Slettet bruger
19. marts 2001 - 11:39 #3
prøv det!
Avatar billede bojohansen Nybegynder
19. marts 2001 - 12:22 #4
If Not FirstName = \"\" Then
\'And LastName And StreetName And StreetNumber And City And PostalCode And Country And State
  If Email = RetypeEmail Then

Den kommer bare med en hel blank skærm hvis man ikke skriver noget i FirstName. Nu har jeg disablet alle de andre feldter bare for at teste.

Avatar billede bojohansen Nybegynder
19. marts 2001 - 13:41 #5
Det jeg vil have den skal er at chekke alle feldter i hele formen, er der så fejl i et bestemt feldt, så skal det feldt så komme med i retur stringen som evt. \"errorMsgFeldtNavn=\" & ErrorMsgHvilketFeldtDerErFejlI & \"&FirstName=\" & FirstName& \"&LastName=\" & LastName & \"&Osv Osv til at alle form feldter er med så folk ikke skal taste dem ind igen.
Det er intet problem at tjekke hvert feldt for sig og så redirecte, men så kan de jo i teroien blive redirectet lige så mange gange som der er feldter til :-( og det er jo ikke meningen. Kun redirecte en gang, og så kan fejl feldter ses ved request.querystring(\"errorMsgFeldtInfor\") oven over hvert form feldt.

Kan man ikke lave et eller andet som
If FirstNavn = \"\" Then Value = False Else Value = True
If LastName = \"\"  Then Value = False Else Value = True
bla bla bla
If Email <> RetypeEmail Then Value = False Else Value = True

Og så lave et eller andet som propper hver False Value ind i en errorMsgFeldtNavn
Avatar billede bojohansen Nybegynder
21. marts 2001 - 02:23 #6
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

IT-JOB