Avatar billede webbygger Nybegynder
30. december 2004 - 20:08 Der er 15 kommentarer og
1 løsning

Fejl i min formular !

Jeg har en eller flere fejl i denne formular, men jeg kan desværre ikke selv finde den - kan I ?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Bedømmelse formular!</title>
<style type="text/css">
<!--
.bag {
    border: 1px dotted #333333;
    background-color: #E4E4E4;
    width: 50%;
    padding: 10px;
}
-->
</style>
</head>
<body>
<h3 align="center">
  <%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  'henter form felterne
  navn = Replace(Request.form("navn"),"'","''")
  kategori = Replace(Request.form("kategori"),"'","")
  produkt = Replace(Request.form("produkt"),"'","") 
  pris = Replace(Request.form("pris"),"'","")
  karakter = Replace(Request.form("karakter"),"'","")
  mail = Replace(Request.form("mail"),"'","''")
  url = Replace(Request.form("url"),"'","''")
  beskriv = Replace(Request.form("beskriv"),"'","''")
 
  beskriv = Replace(beskriv,vbCrLf,"<br>")
 
 
 
if navn="" or kategori="" or produkt="" or mail="" or beskriv="" or not isNumeric(karakter) or not isnumeric(kategori) then
  Response.Write "Fejl i indtastningen."
  Response.End
else
  'kolonne typerne : navn :tekst, dato :date/time, karakter :tal, beskrivelse :notat/tekst
  sql = "insert into dittabelnavn (navn, kategori, produkt, pris, karakter, mail, url, beskrivelse  ) values ("
  sql = sql & "'" & navn & "', "
  sql = sql & "'" & kategori & "', "
  sql = sql & "'" & produkt & "', "
  sql = sql & "'" & pris & "', "
  sql = sql & "" & karakter & ", "
  sql = sql & "'" & mail & "' "
  sql = sql & "'" & url & "' "
  sql = sql & "'" & beskriv & "' "
 

  sql = sql & ")"



 
  set Conn = Server.CreateObject("ADODB.Connection")
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("db10.mdb")
  Conn.Open strConn

  Conn.Execute(sql)
  Conn.Close
  Set conn=nothing
  Response.Write "<center><h2>Data er tilføjet</h2></center><br>" 
end if
end if 
%>
  <script>

function validate(theform) {
  if (theform.navn.value=='') {
    alert ('Navn skal udfyldes.');
    return false;
  } 
  if(theform.kategori.value=='' || theform.kategori.value=='---') {
    alert ('Kategori skal vælges');
    return false;
  }
  if (theform.produkt.value=='') {
    alert ('Produkt skal udfyldes');
    return false;
  }
  str = theform.karakter.value;
  if(!str.match(/^(\d)+$/i)) {
    alert ('Karakter skal udfyldes og være et tal');
    return false;
  }
  if (theform.mail.value=='') {
    alert ('Email skal udfyldes');
    return false;
  }
  if(theform.beskriv.value=='') {
    alert ('Beskrivelse skal udfyldes');
    return false;
  }

  return true;
}
</script>
  <font face="Verdana">B</font><font face="Verdana">ed&oslash;mmelse </font></h3>
<p align="center"><font size="2" face="Verdana">Udfyld venligst alle nedest&aring;ende
  felter</font></p>
<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post" class="bag" onsubmit="return validate(this);">
        <div align="center">
          <table width="50%" align="center">
            <tr>
              <td>Kategori:</td>
              <td><select name="kategori">
                  <option value="---">--V&aelig;lg kategori--</option>
                  <option value="1">Hjul</option>
                  <option value="2">Stang</option>
                  <option value="3">Fiskes&aelig;t</option>
                  <option value="4">Endegrej</option>
                  <option value="5">Bekl&aelig;dning</option>
                </select></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>Produkt :</td>
              <td><input type="text" name="produkt"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>Karakter:</td>
              <td><input type="text" name="karakter">
                bruge et tal mellem 1-10 ( <font size="2">10 er bedst</font> )</td>
            </tr>
            <tr>
              <td valign=top">Beskrivelse:</td>
              <td rowspan="2"><textarea name="beskriv" cols="50" rows="25"></textarea></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>Pris:</td>
              <td><input type="text" name="pris"></td>
            </tr>
            <tr>
              <td>Indsendt af:</td>
              <td><input type="text" name="navn"></td>
            </tr>
            <tr>
              <td>E-mail :</td>
              <td><input  type="text" name="mail"></td>
            </tr>
            <tr>
              <td>URL : </td>
              <td><input  type="text" name="url"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td><input type="submit" name="send" value="send"></td>
            </tr>
          </table>
        </div>
      </form></td>
  </tr>
</table>
<p align="center">&nbsp;</p>


</body>
</html>
Avatar billede Slettet bruger
30. december 2004 - 20:33 #1
måske nemmere hvis du fortalte hvad fejlen resulterer i ?
Avatar billede webbygger Nybegynder
30. december 2004 - 20:39 #2
Du siger noget - jeg får en "Fejl i indtastningen" fra script som den har fået besked på at skrive, men jeg kan s.. ikke se den....
Avatar billede softspot Forsker
30. december 2004 - 20:57 #3
Jeg kan umiddelbart se at du forventer at kategori skal være numerisk, men indsætter den i databasen som en streng... er det korrekt at det er en streng i databasen?

Lav evt. nogle debugudskrifter af de værdier du får med ind i formularen, så bliver det ofte lettere at gennemskue hvad fejlen er.

Held og lykke :)
Avatar billede webbygger Nybegynder
30. december 2004 - 21:03 #4
softspot ->

Jeg begyndet med at får fejlen, da jeg tilføjet to nye input felter ( mail + url ) ellers har det virkede som det skulle.
Men jeg kan godt se der er noget galt i "kategori" - men det er ikke den der laver mit problem nu !!!
Avatar billede softspot Forsker
30. december 2004 - 21:07 #5
OK! :D

jeg tror det er fordi du mangler komma efter felterne "mail" og "url" i dit SQL-statement...
Avatar billede webbygger Nybegynder
30. december 2004 - 21:16 #6
Sådan softspot !

Nu har jeg siddet og stirret på det i flere timer og det gør det heller ikke bedre, at jeg ikke har ret meget forstand på det!!!

Nu skal jeg se på det her katagori problem, da jeg gerne vil ha navnet tilføjet i database i steden for tal, så det skulle ikke undre mig, at jeg for brug for hjælp der også!!!
Avatar billede softspot Forsker
30. december 2004 - 21:21 #7
Du siger bare til hvis/når der opstår problemer - måske jeg kan hjælpe :)
Avatar billede webbygger Nybegynder
30. december 2004 - 21:24 #8
OK - Men tak for hjælpen "indtil videre"
Avatar billede webbygger Nybegynder
30. december 2004 - 22:38 #9
Det her er s.. svært - jeg kan desværre ikke finde den "røde tråd" i ASP endnu!!!

SÅ softspot eller andre kan I hjælp mig med at tilpas script så den overføre kategori navnet  i steden for et tal !

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Bedømmelse formular!</title>
<style type="text/css">
<!--
.bag {
    border: 1px dotted #333333;
    background-color: #E4E4E4;
    width: 50%;
    padding: 10px;
}
-->
</style>
</head>
<body>
<h3 align="center">
  <%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  'henter form felterne
  navn = Replace(Request.form("navn"),"'","''")
  kategori = Replace(Request.form("kategori"),"'","''")
  produkt = Replace(Request.form("produkt"),"'","") 
  pris = Replace(Request.form("pris"),"'","")
  karakter = Replace(Request.form("karakter"),"'","")
  mail = Replace(Request.form("mail"),"'","''")
  url = Replace(Request.form("url"),"'","''")
  beskriv = Replace(Request.form("beskriv"),"'","''")
 
  beskriv = Replace(beskriv,vbCrLf,"<br>")
 
 
 
if navn="" or kategori="" or produkt="" or mail="" or beskriv="" or not isNumeric(karakter) or not isnumeric(kategori) then
  Response.Write "Fejl i indtastningen."
  Response.End
else
  'kolonne typerne : navn :tekst, dato :date/time, karakter :tal, beskrivelse :notat/tekst
  sql = "insert into dittabelnavn (navn, kategori, produkt, pris, karakter, mail, url, beskrivelse  ) values ("
  sql = sql & "'" & navn & "', "
  sql = sql & "'" & kategori & "', "
  sql = sql & "'" & produkt & "', "
  sql = sql & "'" & pris & "', "
  sql = sql & "" & karakter & ", "
  sql = sql & "'" & mail & "', "
  sql = sql & "'" & url & "', "
  sql = sql & "'" & beskriv & "' "
 

  sql = sql & ")"



 
  set Conn = Server.CreateObject("ADODB.Connection")
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("db10.mdb")
  Conn.Open strConn

  Conn.Execute(sql)
  Conn.Close
  Set conn=nothing
  Response.Write "<center><h2>Data er tilføjet</h2></center><br>" 
end if
end if 
%>
  <script>

function validate(theform) {
  if (theform.navn.value=='') {
    alert ('Navn skal udfyldes.');
    return false;
  } 
  if(theform.kategori.value=='' || theform.kategori.value=='---') {
    alert ('Kategori skal vælges');
    return false;
  }
  if (theform.produkt.value=='') {
    alert ('Produkt skal udfyldes');
    return false;
  }
  str = theform.karakter.value;
  if(!str.match(/^(\d)+$/i)) {
    alert ('Karakter skal udfyldes og være et tal');
    return false;
  }
  if (theform.mail.value=='') {
    alert ('Email skal udfyldes');
    return false;
  }
  if(theform.beskriv.value=='') {
    alert ('Beskrivelse skal udfyldes');
    return false;
  }

  return true;
}
</script>
  <font face="Verdana">B</font><font face="Verdana">ed&oslash;mmelse </font></h3>
<p align="center"><font size="2" face="Verdana">Udfyld venligst alle nedest&aring;ende
  felter</font></p>
<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post" class="bag" onsubmit="return validate(this);">
        <div align="center">
          <table width="100%" align="center">
            <tr>
              <td>Kategori:</td>
              <td><select name="kategori">
                  <option value="---">--V&aelig;lg kategori--</option>
                  <option value="Hjul">Hjul</option>
                  <option value="Stang">Stang</option>
                  <option value="Fiskes&aelig;t">Fiskes&aelig;t</option>
                  <option value="Endegrej" selected>Endegrej</option>
                  <option value="Bekl&aelig;dning">Bekl&aelig;dning</option>
                </select></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>Produkt :</td>
              <td><input type="text" name="produkt"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>Karakter:</td>
              <td><input type="text" name="karakter">
                bruge et tal mellem 1-10 ( <font size="2">10 er bedst</font> )</td>
            </tr>
            <tr>
              <td>Beskrivelse:</td>
              <td rowspan="2"><textarea name="beskriv" cols="50" rows="25"></textarea></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>Pris:</td>
              <td><input type="text" name="pris"></td>
            </tr>
            <tr>
              <td>Indsendt af:</td>
              <td><input type="text" name="navn"></td>
            </tr>
            <tr>
              <td>E-mail :</td>
              <td><input  type="text" name="mail"></td>
            </tr>
            <tr>
              <td>URL : </td>
              <td><input  type="text" name="url"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td><input type="submit" name="send" value="send"></td>
            </tr>
          </table>
        </div>
      </form></td>
  </tr>
</table>
<p align="center">&nbsp;</p>


</body>
</html>
Avatar billede softspot Forsker
30. december 2004 - 22:45 #10
1. Fjern denne kode fra dit if-statement: not isnumeric(kategori)

2. Sørg for at kategori er en streng i datbasen


Så kan jeg ikke umiddelbart se nogen andre "problemer" med dit script...
Avatar billede webbygger Nybegynder
30. december 2004 - 22:49 #11
En streng i database er = tekst eller notar eller hvad ...
Avatar billede softspot Forsker
30. december 2004 - 22:52 #12
Jeg skulle mene at dine data kun kræver en tekst (note er til længere tekster).
Avatar billede webbygger Nybegynder
30. december 2004 - 22:54 #13
TjuBangHvorDetGår ...

Dig kunne jeg godt bruge en dags tid - som støttepædagog
Avatar billede softspot Forsker
30. december 2004 - 23:01 #14
Du har 10000 af slagsen herinde på eksperten.dk - tror du du kan klare dig med dem ;)

Under alle omstændigheder vil spørgsmål til ASP altid køre forbi mig, så jeg ser det nok hvis du poster et spørgsmål :)

Bare klø på, så bliver du eksperten in no time...

Held og lykke!
Avatar billede webbygger Nybegynder
30. december 2004 - 23:03 #15
Hvis ikke der opstår flere problemer inden imorgen



GODT NYTÅR
Avatar billede softspot Forsker
30. december 2004 - 23:05 #16
Tak i lige måde :)
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