Avatar billede plato Juniormester
18. maj 2004 - 12:18 Der er 8 kommentarer og
1 løsning

Zero lenght fejl i ASP

Hejsa NG.

Følgende kode giver fejl:

<%

ID = Request.QueryString("id")
if ID = "" then ID = Request.Form("id")
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  headline = Replace(Request.Form("headline"),"'","''")
  navn = Replace(Request.Form("navn"),"'","''")
  kommentar = Replace(Request.Form("kommentar"),"'","''")
  SQL = "INSERT INTO commentsanmeld (nyhedid, navn, comments,headline, [date]) VALUES ("
  SQL = SQL & "'" & id & "', "
  SQL = SQL & "'" & navn & "', "
  SQL = SQL & "'" & kommentar & "', "
  SQL = SQL & "'" & headline & "', "
  SQL = SQL & "now() )" 
  objConn.Execute (SQL) 
End if

if Request.ServerVariables("REQUEST_METHOD") = "POST" then 

  id = request.querystring("id")
  karakter = Request.Form("karakter")
  strSQL = "UPDATE anmeld SET stemmer = stemmer + 1, totalStjerner = totalStjerner + " & karakter & " WHERE ID = " & Request.Querystring("id")
  objConn.Execute (strSQL) 
end if


strSQL = "SELECT * FROM anmeld WHERE id LIKE '" & Request.QueryString("id") & "'"

Set rs = objConn.Execute(strSQL)

If Not rs.EOF Then
    titel = rs("titel")
   
    pic = rs("pic")
    omtale = rs("omtale")
    anmeld = rs("anmeld")
    forfatter = rs("forfatter")
    boksen = rs("boksen")
    premiere = rs("premiere")
    instruk = rs("instruk")
    spilletid = rs("spilletid")
    genre = rs("genre")
        star = rs("star")
stemmer = rs("stemmer")
totalStjerner = rs("totalStjerner")
 
Else
    Response.Redirect "reviews.asp?mode=teather_list&karakter=A"
End If


%>   

Når jeg bruger Request.Form("Karakter") går den ind og laver fejl. Den skriver fejl i commentsanmeld.comments. "Cannot be zero length. Men det er jo slet ikke den form jeg aktivere.
Og linien den mener er:
objConn.Execute (SQL) i comments koden.

Formen kommer her:

<% ' Vis antal stjerner
     
            if stemmer = 0 or stemmer = "" then
              billede = "s0"
            else
              snit = Round(totalStjerner / stemmer,3) * 2
              snit = round(snit) / 2
              snit = replace(snit, ".", "k")
              snit = replace(snit, ",", "k")
              billede = "s" & snit
            end if
           
            Response.Write "<img src=""pics/baggrund/" & billede & ".gif"">"
          %>
          <form name="stem" action="reviews.asp?mode=teather_read&id=<%=Request.QueryString("id")%>" method="post">
            <input type="radio" name="karakter" value="1">1
            <input type="radio" name="karakter" value="2">2
            <input type="radio" name="karakter" value="3">3
            <input type="radio" name="karakter" value="4">4
            <input type="radio" name="karakter" value="5">5
            <input class="formsknap" type="submit" name="Stem" value="Stem">
          </form>

Nogen der kan hjælpe?
Avatar billede keysersoze Ekspert
18. maj 2004 - 12:29 #1
i linie 9 begynder du da på at indsætte data i tabellen commentsanmeld - i kolonnen comments forsøger du så at indsætte variablen kommentar, og det er den variabel der så er tom
Avatar billede plato Juniormester
18. maj 2004 - 12:39 #2
Jep. Men commentskoden skal jo ikke gå i gang når man stemmer? Den har sin helt egen form.
Avatar billede ellebaek Nybegynder
18. maj 2004 - 13:13 #3
Du spørger på denne linie 2 gange..
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

Så skal du i stedet arbejde med fx. querystrings som du sender med i din form..

og så i stedet for den anden linie bruge:

if Request.querystring("mode") = "add" then

elseif Request.querystring("mode") = "slet" then

end if

eller hvilke metoder du nu vil have..
og så skal din form være:
<form method="post" action="side.asp?mode=slet">
eller i den dur..
Avatar billede plato Juniormester
18. maj 2004 - 13:22 #4
Ok, jeg prøver mig frem :)
Avatar billede plato Juniormester
18. maj 2004 - 19:28 #5
Fandt en anden løsning :)
Avatar billede ellebaek Nybegynder
18. maj 2004 - 22:08 #6
hvordan gjorde du så..?
Avatar billede plato Juniormester
19. maj 2004 - 09:44 #7
Jeg kalder følgende kode fra en anden fil:

Sub CreateAnmeldVote(intId)
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../db/anmeld.mdb")

Sql = "SELECT * FROM anmeld WHERE id = " & intId
Set Rs = Conn.Execute(Sql)
stemmer = Rs("stemmer")
sum = Rs("sum")

If Request.Cookies("vote2")(intId) <> "True" Then

   

            if stemmer = 0 or stemmer = "" then
                billede = "s0"   
            else
                snit = Round(sum / stemmer,3) * 2
                          snit = round(snit) / 2
                          snit = replace(snit, ".", "k")
                          snit = replace(snit, ",", "k")
                          billede = "s" & snit
                end if
                Response.Write("Artiklens karakter:<br><img src=""http://www.filmnet.dk/pics/baggrund/" & billede & ".gif"">")

            Response.write("<br>Giv artiklen en karakter:<br><form action='storedata.asp?action=anmeldstemme' method='post'>")
                Response.write("<input type='radio' name='mark' value='1'>1")
            Response.write("<input type='radio' name='mark' value='2'>2")
                Response.write("<input type='radio' name='mark' value='3'>3")
            Response.write("<input type='radio' name='mark' value='4'>4")
                Response.write("<input type='radio' name='mark' value='5'>5")
                Response.write("<input type='radio' name='mark' value='6'>6")
            Response.write("<input type='hidden' name='id' value='"& intId &"'>")
                Response.write("<br><input class='formsknap' type='submit'  name='Stem' value='Stem'>")
                Response.write("</form>")
               
   
else


                if stemmer = 0 or stemmer = "" then
                billede = "s0"   
            else
                snit = Round(sum / stemmer,3) * 2
                          snit = round(snit) / 2
                          snit = replace(snit, ".", "k")
                          snit = replace(snit, ",", "k")
                          billede = "s" & snit
                end if
                Response.Write("Artiklens karakter:<br><img src=""http://www.filmnet.dk/pics/baggrund/" & billede & ".gif"">")
                   


End If
End Sub

storedata.asp smider så updaten ind i DB'en
Avatar billede ellebaek Nybegynder
19. maj 2004 - 09:51 #8
ok...

Så husk at lukke her igen ;-)
Avatar billede plato Juniormester
19. maj 2004 - 10:13 #9
Self. :-)
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