Avatar billede scorpion Nybegynder
11. december 2001 - 23:24 Der er 11 kommentarer og
2 løsninger

Hvor er fejlen i min validering??

Hej der ud, håber der er nogen, der kan give mig en hånd med det følgede.
  Det handler om validering af information, der bliver indtastet i \"contact_form.html\" og valideret i \"validering.asp\". Men lige meget hvad jeg gør bliver indtastingen valideret som om der er fejl.
  Jeg har kontrolleret min indtastning, det er ikke der det går galt; men jeg kan simpelthen ikke finde fejlen.
  Er der nogen af jer der ude der kan??

Siden: contact_form.html

<html>
<head>
<title>Contact</title>
</head>

<body bgcolor=\"#FFFFFF\" text=\"#000000\">
<table width=\"400\" border=\"0\" cellspacing=\"6\" height=\"400\">
  <tr>
    <td colspan=\"4\">Contact</td>
  </tr>
  <tr>
    <td colspan=\"4\">&nbsp;</td>
  </tr>
  <tr>
    <td colspan=\"4\">Please fill in the following form to contact:</td>
  </tr>
  <tr>
    <td colspan=\"4\">&nbsp;</td>
  </tr>
  <form name=\"contact\" method=\"post\" action=\"validering.asp\">
    <tr>
      <td width=\"96\">Titel:</td>
      <td colspan=\"3\">
        <input type=\"text\" size=\"44\" name=\"titel\">
      </td>
    </tr>
    <tr>
      <td width=\"96\">Name<font color=\"red\">*</font>:</td>
      <td colspan=\"3\">
        <input type=\"text\" size=\"44\" name=\"name\">
      </td>
    </tr>
    <tr>
      <td width=\"96\">Company:</td>
      <td colspan=\"3\">
        <input type=\"text\" size=\"44\" name=\"company\">
      </td>
    </tr>
    <tr>
      <td width=\"96\">Address:</td>
      <td colspan=\"3\">
        <input type=\"text\" size=\"44\" name=\"address\">
      </td>
    </tr>
    <tr>
      <td width=\"96\">Postal code:</td>
      <td width=\"50\">
        <input type=\"text\" size=\"8\" name=\"postal_code\">
      </td>
      <td width=\"82\">City/ Town:</td>
      <td width=\"134\">
        <input type=\"text\" size=\"15\" name=\"city\">
      </td>
    </tr>
    <tr>
      <td width=\"96\">Country<font color=\"red\">*</font>::</td>
      <td colspan=\"3\">
        <input type=\"text\" size=\"44\" name=\"country\">
      </td>
    </tr>
    <tr>
      <td width=\"96\">E - mail<font color=\"red\">*</font>:</td>
      <td colspan=\"3\">
        <input type=\"text\" size=\"44\" name=\"email>
    </td>
  </tr>
  <tr>
    <td colspan=\"4\">
        &nbsp;</td>
    </tr>
    <tr>
      <td width=\"96\">Telefon:</td>
      <td colspan=\"3\">
        <input type=\"text\" size=\"44\" name=\"telefon\">
      </td>
    </tr>
    <tr>
      <td colspan=\"4\">Do you want to be contacted be one of our consulents?<br>
        If yes, in wi way:</td>
    </tr>
    <tr>
      <td colspan=\"2\"> &nbsp;
        <input type=\"radio\" name=\"contact\" value=\"Contact by e-mail\">
        E- mail </td>
      <td colspan=\"2\">
        <input type=\"radio\" name=\"contact\" value=\"Contact by telefon\">
        Telefon </td>
    </tr>
    <tr>
      <td colspan=\"4\">&nbsp;</td>
    </tr>
    <tr>
      <td colspan=\"4\">Subject<font color=\"red\">*</font>:</td>
    </tr>
    <tr>
      <td colspan=\"4\">
        <input type=\"text\" size=\"58\"name=\"subject\">
      </td>
    </tr>
    <tr>
      <td colspan=\"4\">Details<font color=\"red\">*</font>:</td>
    </tr>
    <tr>
      <td colspan=\"4\" height=\"88\">
        <textarea name=\"details\" cols=\"58\" wrap=\"VIRTUAL\" rows=\"6\"></textarea>
      </td>
    </tr>
    <tr>
      <td colspan=\"4\" height=\"14\">
        <input type=\"submit\" name=\"Submit\" value=\"Send\">
      </td>
    </tr>
    <tr>
      <td colspan=\"4\" height=\"14\">Please note! <br>
        All fields marked with an asterisk(<font color=\"red\">*</font>) are required.
     
        td>
    </tr>
  </form>
</table>
</body>
</html>



Siden: validering.asp

<%
\'Her fjernes \' og \" for at ikke komme i kambolage med VBScript\'s måde at skrive på.
Form_Titel = Trim(Replace(Request.Form(\"titel\"),\"\"\"\",\"\"\"\"\"\"))
Form_Name = Trim(Replace(Request.Form(\"name\"),\"\"\"\",\"\"\"\"\"\"))
Form_Company = Trim(Replace(Request.Form(\"company\"),\"\"\"\",\"\"\"\"\"\"))
Form_Address = Trim(Replace(Request.Form(\"address\"),\"\"\"\",\"\"\"\"\"\"))
Form_Postal_code = Trim(Replace(Request.Form(\"postal_code\"),\"\"\"\",\"\"\"\"\"\"))
Form_City = Trim(Replace(Request.Form(\"city\"),\"\"\"\",\"\"\"\"\"\"))
Form_Country = Trim(Replace(Request.Form(\"country\"),\"\"\"\",\"\"\"\"\"\"))
Form_Email = Trim(Replace(Request.Form(\"email\"),\"\"\"\",\"\"\"\"\"\"))
Form_Telefon = Trim(Replace(Request.Form(\"telefon\"),\"\"\"\",\"\"\"\"\"\"))
Form_Subject = Trim(Replace(Request.Form(\"subject\"),\"\"\"\",\"\"\"\"\"\"))
Form_Details = Trim(Replace(Request.Form(\"details\"),\"\"\"\",\"\"\"\"\"\"))

\'Da der er tale om radiobuttons er der ikke brug for \"Replace\" funktion på disse.
Form_Contact = Request.Form(\"contact\")

\'Her starter valideringen
Validated_Form = true

\'Undersøger om der er noget og om det er korrekte intastet i name feltet.
IF len(Form_Name)<2 THEN \'Der skal minimum være 2 tegn intastet.
  Validated_Form = false
  END IF
 
IF len(Form_Country)<2 THEN \'Der skal minimum være 2 tegn intastet.
  Validated_Form = false
  END IF
 
IF len(Form_Email)<6 OR InStr(Form_Email,\"@\")=0 THEN \'Der skal minimum være 6 tegn intastet og @ skal være et af dem.
  Validated_Form = false
  END IF
 
IF len(Form_Subject)<3 THEN \'Der skal minimum være 3 tegn intastet.
  Validated_Form = false
  END IF
 
IF len(Form_Details)<3 THEN \'Der skal minimum være 3 tegn intastet.
  Validated_Form = false
  END IF 

\'Hvis indtastningen ikke er korrekt vises følgende.
IF NOT Validated_Form THEN
%>

<html>
<head>
<title>Contact</title>
</head>

<body>
Error. Click back in your browser, and fill the form out properly.
</body>
</html>

<%
\'Dette vises derimod, hvis intastningen er korrekt.
ELSE

%>

<html>
<head>
<title>Contact</title>
</head>

<body>
Thank for sharing you information, we will answer you as fast as possible, or after request.
<BR>
<BR>
You submitted the following information:<BR>
Titel: <%=Form_Titel%><BR>
Name: <%=Form_Name%><BR>
Company: <%=Form_Company%><BR>
Address: <%=Form_Address%><BR>
Postal code: <%=Form_Postal_code%><BR>
City/ Town: <%=Form_City%><BR>
Country: <%=Form_Country%><BR>
E-mail: <%=Form_Email%><BR>
Telefon: <%=Form_Telefon%><BR><BR>
Subject: <%=Form_Subject%><BR>
Details: <%=Form_Details%><BR>

</body>
</html>
<%
END IF
%>

På forhånd tak for hjælpen.

MVH

Scorpion
Avatar billede keysersoze Ekspert
11. december 2001 - 23:30 #1
IF NOT Validated_Form THEN

ændres til

IF NOT Validated_Form = true THEN

Avatar billede bobbedude Nybegynder
11. december 2001 - 23:31 #2
Avatar billede brita Nybegynder
11. december 2001 - 23:33 #3
nej true er default, det er rigtig nok mener jeg.

til gengæld er dine trim sætninger lidt overdrevne:

TITEL = Trim(Replace(Request.Form(\"titel\"),\"\'\",\"\"))
TITEL = Trim(Replace(Request.Form(\"titel\"),\"\"\"\",\"\"))
og så tilføj denne for at sikre mod asptegn:
TITEL = Trim(Replace(Request.Form(\"titel\"),\"%\",\"\"))

og så læser jeg lige videre...
Avatar billede brita Nybegynder
11. december 2001 - 23:34 #4
>>> bobbedude, men ikke så pænt !!!!
Avatar billede bobbedude Nybegynder
11. december 2001 - 23:37 #5
brita  >> Nix men det er hurtigt og det virker.
Avatar billede brita Nybegynder
11. december 2001 - 23:39 #6
måske er der forskel hvis du ændre til:

IF Validated_Form = false THEN

- jeg ved godt jeg næsten modsiger mig selv, men jeg synes under alle omstændigheder, det andet er dobbeltkonfekt!!!
Avatar billede brita Nybegynder
11. december 2001 - 23:45 #7
og så er der god fejlsøgningsteknik i at placere dine oplysninger inden problemet er der, altså i dit tilfælde inden if sætningen:

Titel: <%=Form_Titel%><BR>
Name: <%=Form_Name%><BR>
Company: <%=Form_Company%><BR>
Address: <%=Form_Address%><BR>
Postal code: <%=Form_Postal_code%><BR>
City/ Town: <%=Form_City%><BR>
Country: <%=Form_Country%><BR>
E-mail: <%=Form_Email%><BR>
Telefon: <%=Form_Telefon%><BR><BR>
Subject: <%=Form_Subject%><BR>
Details: <%=Form_Details%><BR>


IF NOT Validated_Form THEN.....

- så kan du bedre se hvor det er galt!!
Avatar billede scorpion Nybegynder
11. december 2001 - 23:54 #8
Så vælter svarene ind, men det svære er det ikke noget, af det der hjælper endnu.

Please keep on trying :-)

PS. Jeg giver ret i at JavaScript er en hurtig og nem løsning, men der skal bygges en JMail oveni senere, så derfor kan det ikke bruges.

Scorpion
Avatar billede keysersoze Ekspert
11. december 2001 - 23:57 #9
ok... så prøv at udskriv Validated_Form og se hvad den giver af værdi... gives der \"false\" så giv dine false andre værdier (false1 false2 osv) så kan du se hvor fejlen ligger...

dog tror jeg stadig at der er fejl i denne linie  IF NOT Validated_Form THEN

da du på ingen måde side hvad Validated_Form skal eller ikke skal være

Avatar billede brita Nybegynder
12. december 2001 - 00:04 #10
keysersoze >>>>> jo, det står jo over det hele..... true og false er boolean values, og det gælder om dem at true er default, altså kan man godt skrive

if Validated_Form then

det betyder nemlig

if Validated_Form = True then

........ og det er jo en god genvej at kende !!!
Avatar billede keysersoze Ekspert
12. december 2001 - 00:06 #11
det ved jeg - men igen... under fejlfinding må man ikke lade noget være overladt til tilfældighederne...
Avatar billede Slettet bruger
12. december 2001 - 00:46 #12
Du har to bøffer i HTML koden til formen...

1) Input feltet til E-mail mangler en quote:
    <input type=\"text\" size=\"44\" name=\"email>

2) Den allersidste <td> bliver ikke lukket korrekt:
    <td colspan=\"4\" height=\"14\">Please note! <br>
        All fields marked with an asterisk(<font color=\"red\">*</font>) are required.
     
        td>
    </tr>

- that\'s it!

/CS
Avatar billede scorpion Nybegynder
12. december 2001 - 08:30 #13
Det er sku\' typiskt... greystate har fundstædigt ret.

Tak for hjælpen og tiden til alle.

Scorpion
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