Hejsa jeg har lidt er problem, jeg får en fejl i linie 32 i følgende kode, jeg vil gerne skrive til en database, fra en form, jeg kan ikke selv finde fejlen
Fejlen: Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Koden: <link href="css/style.css" rel="stylesheet" type="text/css"> <head> <html> <meta name="Generator" content="Stone's WebWriter 4"> </head> <table width="500" border="0" align="center"> <tr> <td> Velkommen til brian's artikeldatabase, her tilføjer du artikler, du skal udfylde alle felter, med mindre der står noget i forvejen, så kan du lade det stå med mindre du har noget andet du hellere vil tilføje. </td> </tr> </table> <% Response.Buffer = True
Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "Select * From Nyheder" rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic %>
<% if Request.ServerVariables("REQUEST_METHOD") = "POST" then
' Skriver fejl, hvis der ikke er indtastet en oplysning.
if Overskrift = "" then Response.Write("Du mangler en overskrift<br></font>") end if
if Undertekst = "" then Response.Write("Du mangler en undertekst<br></font>") end if
if Forfatter = "" then Response.Write("Du mangler at skrive dit navn<br></font>") end if
if Dato = "" then Response.Write("Du mangler at skrive en dato<br></font>") end if
if Email = "" then Response.Write("Du mangler at skrive din@mail.dk<br></font>") end if
if Artikel = "" then Response.Write("Du mangler noger i artiklen<br></font>") end if
if Image = "" then Response.Write("Du mangler at tilføje et billede<br></font>") end if
if Billedetekst = "" then Response.Write("Du mangler at skrive en billedtekst<br></font>") end if
' opretter brugeren i databasen
if Overskrift <> "" AND Undertekst <> "" AND Forfatter <> "" AND Dato <> "" AND Email <> "" AND Artikel <> "" AND Image <> "" AND billedtekst <> "" then rs.AddNew rs("Overskrift") = Request.form("Overskrift") rs("Undertekst") = Request.form("Undertekst") rs("Forfatter") = Request.form("Forfatter") rs("Dato") = Request.form("Dato") rs("Email") = Request.form("Email") rs("Artikel") = Request.form("Artikel") rs("Image") = Request.form("Image") rs("Billedtekst") = Request.form("Billedtekst") rs.update Response.Redirect("brian2.asp") end if end if %>
<td>Skriv en undertekst som omhandler artikel, en såkaldt appetitvækker, hvad handler artiklen om? Bare ca. 200 tegn max 225<br> <textarea rows="11" name="Undertekst" cols="30" type="text"></textarea></td> </tr> <tr>
<td> Skriv en Dit navn som fx Jens Jensen <br> <input type="text" name="Forfatter" value="" maxlength="50" class="bottom" size="23"></td> </tr> <tr>
<td> Skriv dags dato, eller hvornår artikel skulle have været publiceret (dd-mm-åååå) <br> <input type="text" name="Dato" value="" maxlength="50" class="bottom" size="23"></td> </tr> <tr>
<tr> <td> Skriv selve artikel, <font color="#FF0000">bemærk</font> at den er HTML baseret <br> <textarea rows="11" name="tekst" cols="30" type="text"></textarea> </td> </tr> <tr>
<td> Skriv Billednavn, som fx. billede001 uden endelse (.jpg, .gif) <br> <input type="text" name="Overskrift" value="" maxlength="50" class="bottom" size="23"></td> </tr> <tr> <td> Skriv billedtekst, <font color="#FF0000">bemærk</font> at den er HTML baseret <br> <textarea rows="5" name="tekst" cols="30" type="text"></textarea> </td> </tr>
først og fremmest, så er der en del fejl i din form... Du har 3 felter der hedder overskrift, 2 der hedder tekst... Det kommer i hvert fald ikke til at du....
En anden ting... lav først din request.form efter du har konstateret at der er benyttet method="post" (denne linie: <% if Request.ServerVariables("REQUEST_METHOD") = "POST" then)
Herudover kan det ikke betale sig at lave en variabel med en værdi af request.form hvis du kalder request.form en gang mere... benyt variables i stedet...
Og endelig, så kan du ikke lave en response.redirect hvis du har skrevet noget på skærmen allerede, derfor har jeg smidt selve indsættelsen af siden op i toppen af din kode.
Her har jeg lavet en del om i din kode, herefter burde det forhåbentlig funge...
' Skriver fejl, hvis der ikke er indtastet en oplysning.
if Overskrift = "" then Response.Write("Du mangler en overskrift<br></font>") end if
if Undertekst = "" then Response.Write("Du mangler en undertekst<br></font>") end if
if Forfatter = "" then Response.Write("Du mangler at skrive dit navn<br></font>") end if
if Dato = "" then Response.Write("Du mangler at skrive en dato<br></font>") end if
if Email = "" then Response.Write("Du mangler at skrive din@mail.dk<br></font>") end if
if Artikel = "" then Response.Write("Du mangler noger i artiklen<br></font>") end if
if Image = "" then Response.Write("Du mangler at tilføje et billede<br></font>") end if
if Billedetekst = "" then Response.Write("Du mangler at skrive en billedtekst<br></font>") end if
' opretter brugeren i databasen
if Overskrift <> "" AND Undertekst <> "" AND Forfatter <> "" AND Dato <> "" AND Email <> "" AND Artikel <> "" AND Image <> "" AND billedtekst <> "" then sql = "INSERT INTO Nyheder(overskrift, undertekst, forfatter, dato, email, artikel, image, billedtekst) VALUES('"&Overskrift&"','"&Undertekst&"','"&Forfatter&"','"&Dato&"','"&Email&"','"&Artikel&"','"&Image&"','"&Billedtekst&"')" conn.execute(sql) Response.Redirect("brian2.asp") end if end if %> <link href="css/style.css" rel="stylesheet" type="text/css"> <head> <html> <meta name="Generator" content="Stone's WebWriter 4"> </head> <table width="500" border="0" align="center"> <tr> <td> Velkommen til brian's artikeldatabase, her tilføjer du artikler, du skal udfylde alle felter, med mindre der står noget i forvejen, så kan du lade det stå med mindre du har noget andet du hellere vil tilføje. </td> </tr> </table>
<td>Skriv en undertekst som omhandler artikel, en såkaldt appetitvækker, hvad handler artiklen om? Bare ca. 200 tegn max 225<br> <textarea rows="11" name="Undertekst" cols="30" type="text"></textarea></td> </tr> <tr>
<td> Skriv en Dit navn som fx Jens Jensen <br> <input type="text" name="Forfatter" value="" maxlength="50" class="bottom" size="23"></td> </tr> <tr>
<td> Skriv dags dato, eller hvornår artikel skulle have været publiceret (dd-mm-åååå) <br> <input type="text" name="Dato" value="" maxlength="50" class="bottom" size="23"></td> </tr> <tr>
<tr> <td> Skriv selve artikel, <font color="#FF0000">bemærk</font> at den er HTML baseret <br> <textarea rows="11" name="Artikel" cols="30" type="text"></textarea> </td> </tr> <tr>
<td> Skriv Billednavn, som fx. billede001 uden endelse (.jpg, .gif) <br> <input type="text" name="Image" value="" maxlength="50" class="bottom" size="23"></td> </tr> <tr> <td> Skriv billedtekst, <font color="#FF0000">bemærk</font> at den er HTML baseret <br> <textarea rows="5" name="tekst" cols="30" type="text"></textarea> </td> </tr>
Det var en ordentlig omgang... men håber koden virker, kan jo ikk rigtig teste den ;-)
Synes godt om
Ny brugerNybegynder
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.