Avatar billede html_wizard Nybegynder
06. maj 2003 - 17:12 Der er 10 kommentarer og
1 løsning

ASP hjælp

<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
set conn = server.createobject("ADODB.Connection")
conn.open "DBQ="notavailable".mdb;Driver={Microsoft Access Driver (*.mdb)};"

If Request.Form("Gem") <> "" Then
    strError = ""
    strError1 = ""
    strError2 = ""
    strError3 = ""
    strError4 = ""
    strError5 = ""
   
    strNavn = Trim(Request.Form("Navn"))
    strEfternavn = Trim(Request.Form("Efternavn"))
    strVejnavn = Trim(Request.Form("Vejnavn"))
    strVejnummer = Trim(Request.Form("Vejnummer"))
    strBy = Trim(Request.Form("By"))
    strPostnummer = Trim(Request.Form("Postnummer"))    strComment = Trim(Request.Form("Comment"))
       
Function RandNo()
Randomize
RandNo = Int(99999999 * Rnd + 3)
End Function

    If Len(strNavn) = 0 Then
        strError = "<li>Du skal udfylde dit navn!</li>"
    If Len(strNavn) = 0 Then
        strError1 = "<li>Du skal udfylde dit efternavn!</li>"
    If Len(strNavn) = 0 Then
        strError2 = "<li>Du skal udfylde dit vejnavn!</li>"
    If Len(strNavn) = 0 Then
        strError3 = "<li>Du skal udfylde dit vejnummer!</li>"
    If Len(strNavn) = 0 Then
        strError4 = "<li>Du skal udfylde din by!</li>"
    If Len(strNavn) = 0 Then
        strError5 = "<li>Du skal udfylde dit postnummer!</li>"
    End If
    If Len(strError) = 0 and
    Len(strError1) = 0 and
    Len(strError2) = 0 and
    Len(strError3) = 0 and
    Len(strError4) = 0 and
    Len(strError5) = 0   
    Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM table1 WHERE (Ref = 0)"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Efternavn") = Server.HTMLEncode(strEfternavn)
            rs("Vejnavn") = Server.HTMLEncode(strVejnavn)
            rs("Vejnummer") = Server.HTMLEncode(strVejnummer)
            rs("Postnummer") = server.HTMLEncode(strPostnummer)
            rs("Comment") = Server.HTMLEncode(strComment)
            rs("Dato") = Now()
            rs("Ref") = RandNo()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
      conn.Close
      Response.Redirect ("fillform.asp")
    Else
        strError = "<p><ul><font color=#FFFFFF>" & strError & "</font></ul></p>"
    End If
End If
%>
Avatar billede html_wizard Nybegynder
06. maj 2003 - 17:14 #1
hvorfor kan dette ikke virke?
Avatar billede eagleeye Praktikant
06. maj 2003 - 17:17 #2
Denne if sætning går ikke:


    If Len(strError) = 0 and
    Len(strError1) = 0 and
    Len(strError2) = 0 and
    Len(strError3) = 0 and
    Len(strError4) = 0 and
    Len(strError5) = 0   
    Then


Det skal laves på en linjer eller dele den op med _

if Len(strError) = 0 and _
  Len(strError1) = 0 and _
  Len(strError2) = 0 and _
  Len(strError3) = 0 and _
  Len(strError4) = 0 and _
  Len(strError5) = 0 _
  Then
 
end if
Avatar billede eagleeye Praktikant
06. maj 2003 - 17:19 #3
Disse går heller ikke:

    If Len(strNavn) = 0 Then
        strError = "<li>Du skal udfylde dit navn!</li>"
    If Len(strNavn) = 0 Then
        strError1 = "<li>Du skal udfylde dit efternavn!</li>"
    If Len(strNavn) = 0 Then
        strError2 = "<li>Du skal udfylde dit vejnavn!</li>"
    If Len(strNavn) = 0 Then
        strError3 = "<li>Du skal udfylde dit vejnummer!</li>"
    If Len(strNavn) = 0 Then
        strError4 = "<li>Du skal udfylde din by!</li>"
    If Len(strNavn) = 0 Then
        strError5 = "<li>Du skal udfylde dit postnummer!</li>"
    End If


Der skal være en End If til hver If hvis man ikke skriver Then delen lige efter  then.:

if xxx=yyy then "noget her"

eller

if xxx=yyy thne
  "noget her"
end if
Avatar billede eagleeye Praktikant
06. maj 2003 - 17:19 #4
Så prøv at rette det til:


    If Len(strNavn) = 0 Then strError = "<li>Du skal udfylde dit navn!</li>"
    If Len(strNavn) = 0 Then strError1 = "<li>Du skal udfylde dit efternavn!</li>"
    If Len(strNavn) = 0 Then strError2 = "<li>Du skal udfylde dit vejnavn!</li>"
    If Len(strNavn) = 0 Then strError3 = "<li>Du skal udfylde dit vejnummer!</li>"
    If Len(strNavn) = 0 Then strError4 = "<li>Du skal udfylde din by!</li>"
    If Len(strNavn) = 0 Then strError5 = "<li>Du skal udfylde dit postnummer!</li>"
Avatar billede eagleeye Praktikant
06. maj 2003 - 17:40 #5
her er også to linjer i en linjer det skal være to:

strPostnummer = Trim(Request.Form("Postnummer"))    strComment = Trim(Request.Form("Comment"))

Sådan her:
strPostnummer = Trim(Request.Form("Postnummer"))   
strComment = Trim(Request.Form("Comment"))
Avatar billede eagleeye Praktikant
06. maj 2003 - 17:42 #6
Det går også noget galt her med nogle "'er:

conn.open "DBQ="notavailable".mdb;Driver={Microsoft Access Driver (*.mdb)};"

Prøv sådan her:
conn.open "DBQ=notavailable.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Avatar billede html_wizard Nybegynder
06. maj 2003 - 17:44 #7
<%
Function RandNo()
Randomize
RandNo = Int(999999 * Rnd + 3)
End Function

Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
set conn = server.createobject("ADODB.Connection")
conn.open "DBQ="notavailable".mdb;Driver={Microsoft Access Driver (*.mdb)};"

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEfternavn = Trim(Request.Form("Efternavn"))
    strVejnavn = Trim(Request.Form("Vejnavn"))
    strVejnummer = Trim(Request.Form("Vejnummer"))
    strBy = Trim(Request.Form("By"))
    strPostnummer = Trim(Request.Form("Postnummer"))
    strCpr = Trim(Request.Form("Cpr"))
    strTelefon = Trim(Request.Form("Telefon"))
    strTeleselskab = Trim(Request.Form("Teleselskab"))
    strTelekontrakt = Trim(Request.Form("Telekontrakt"))
    strEmail = Trim(Request.Form("Email"))
   
    If Len(strError) = 0 Then   
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM table1 WHERE (Ref = 0)"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Efternavn") = Server.HTMLEncode(strEfternavn)
            rs("Vejnavn") = Server.HTMLEncode(strVejnavn)
            rs("Vejnummer") = Server.HTMLEncode(strVejnummer)
            rs("Postnummer") = Server.HTMLEncode(strPostnummer)
            rs("By") = Server.HTMLEncode(strBy)
            rs("Cpr") = Server.HTMLEncode(strCpr)
            rs("Telefon") = Server.HTMLEncode(strTelefon)
            rs("Teleselskab") = Server.HTMLEncode(strTeleselskab)
            rs("Telekontrakt") = Server.HTMLEncode(strTelekontrakt)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Comment") = Server.HTMLEncode(strComment)
            rs("Dato") = Now()
            rs("Ref") = RandNo()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
      conn.Close
      Response.Redirect ("fillform.asp")
    Else
        strError = "<p><ul><font color=#FFFFFF>" & strError & "</font></ul></p>"
    End If
End If
%>


Ej, jeg kan ikke få det til at virke. Bruger jeg dit svar kommer den slet ikke med en fejlmelding, og skiver bare til databasen. Jeg spekulerede på om jeg ikke kunne nøjes med ElseIf og bruge een errorsstring i stedet for at oprette flere forskellige. Har du noget forslag til hvordan jeg får fejlmelding med enkelte kommandoer sat ind i ovenstående.
Avatar billede html_wizard Nybegynder
06. maj 2003 - 17:47 #8
PS jeg har selv sat "notavailable" ind, det er ikke den! :-)
Avatar billede eagleeye Praktikant
06. maj 2003 - 20:59 #9
I det sidste kode er fejl tjekke også fjeren prøv med det sådan her:


<%
Function RandNo()
Randomize
RandNo = Int(999999 * Rnd + 3)
End Function

Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
set conn = server.createobject("ADODB.Connection")
conn.open "DBQ="notavailable".mdb;Driver={Microsoft Access Driver (*.mdb)};"

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEfternavn = Trim(Request.Form("Efternavn"))
    strVejnavn = Trim(Request.Form("Vejnavn"))
    strVejnummer = Trim(Request.Form("Vejnummer"))
    strBy = Trim(Request.Form("By"))
    strPostnummer = Trim(Request.Form("Postnummer"))
    strCpr = Trim(Request.Form("Cpr"))
    strTelefon = Trim(Request.Form("Telefon"))
    strTeleselskab = Trim(Request.Form("Teleselskab"))
    strTelekontrakt = Trim(Request.Form("Telekontrakt"))
    strEmail = Trim(Request.Form("Email"))
   
    If Len(strNavn) = 0 Then strError = "<li>Du skal udfylde dit navn!</li>"
    If Len(strEfternavn) = 0 Then strError1 = "<li>Du skal udfylde dit efternavn!</li>"
    If Len(strVejnavn) = 0 Then strError2 = "<li>Du skal udfylde dit vejnavn!</li>"
    If Len(strVejnummer) = 0 Then strError3 = "<li>Du skal udfylde dit vejnummer!</li>"
    If Len(strBy) = 0 Then strError4 = "<li>Du skal udfylde din by!</li>"
    If Len(strPostnummer) = 0 Then strError5 = "<li>Du skal udfylde dit postnummer!</li>"

if Len(strError) = 0 and _
  Len(strError1) = 0 and _
  Len(strError2) = 0 and _
  Len(strError3) = 0 and _
  Len(strError4) = 0 and _
  Len(strError5) = 0 _
  Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM table1 WHERE (Ref = 0)"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Efternavn") = Server.HTMLEncode(strEfternavn)
            rs("Vejnavn") = Server.HTMLEncode(strVejnavn)
            rs("Vejnummer") = Server.HTMLEncode(strVejnummer)
            rs("Postnummer") = Server.HTMLEncode(strPostnummer)
            rs("By") = Server.HTMLEncode(strBy)
            rs("Cpr") = Server.HTMLEncode(strCpr)
            rs("Telefon") = Server.HTMLEncode(strTelefon)
            rs("Teleselskab") = Server.HTMLEncode(strTeleselskab)
            rs("Telekontrakt") = Server.HTMLEncode(strTelekontrakt)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Comment") = Server.HTMLEncode(strComment)
            rs("Dato") = Now()
            rs("Ref") = RandNo()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
      conn.Close
      Response.Redirect ("fillform.asp")
    Else
        strError = "<p><ul><font color=#FFFFFF>" & strError & "</font></ul></p>"
    End If
End If
%>
Avatar billede eagleeye Praktikant
06. maj 2003 - 21:01 #10
Men du har ret i du kan nøjes med en streng til fejl koden, så er det let nemere at rette i senere hvis du vil fjerne eller tilføje en ny så bliver koden sådan her:


<%
Function RandNo()
Randomize
RandNo = Int(999999 * Rnd + 3)
End Function

Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
set conn = server.createobject("ADODB.Connection")
conn.open "DBQ="notavailable".mdb;Driver={Microsoft Access Driver (*.mdb)};"

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEfternavn = Trim(Request.Form("Efternavn"))
    strVejnavn = Trim(Request.Form("Vejnavn"))
    strVejnummer = Trim(Request.Form("Vejnummer"))
    strBy = Trim(Request.Form("By"))
    strPostnummer = Trim(Request.Form("Postnummer"))
    strCpr = Trim(Request.Form("Cpr"))
    strTelefon = Trim(Request.Form("Telefon"))
    strTeleselskab = Trim(Request.Form("Teleselskab"))
    strTelekontrakt = Trim(Request.Form("Telekontrakt"))
    strEmail = Trim(Request.Form("Email"))
   
    If Len(strNavn) = 0 Then strError = strError & "<li>Du skal udfylde dit navn!</li>"
    If Len(strEfternavn) = 0 Then strError = strError & "<li>Du skal udfylde dit efternavn!</li>"
    If Len(strVejnavn) = 0 Then strError = strError & "<li>Du skal udfylde dit vejnavn!</li>"
    If Len(strVejnummer) = 0 Then strError = strError & "<li>Du skal udfylde dit vejnummer!</li>"
    If Len(strBy) = 0 Then strError = strError & "<li>Du skal udfylde din by!</li>"
    If Len(strPostnummer) = 0 Then strError = strError & "<li>Du skal udfylde dit postnummer!</li>"

    if Len(strError) = 0 Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM table1 WHERE (Ref = 0)"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Efternavn") = Server.HTMLEncode(strEfternavn)
            rs("Vejnavn") = Server.HTMLEncode(strVejnavn)
            rs("Vejnummer") = Server.HTMLEncode(strVejnummer)
            rs("Postnummer") = Server.HTMLEncode(strPostnummer)
            rs("By") = Server.HTMLEncode(strBy)
            rs("Cpr") = Server.HTMLEncode(strCpr)
            rs("Telefon") = Server.HTMLEncode(strTelefon)
            rs("Teleselskab") = Server.HTMLEncode(strTeleselskab)
            rs("Telekontrakt") = Server.HTMLEncode(strTelekontrakt)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Comment") = Server.HTMLEncode(strComment)
            rs("Dato") = Now()
            rs("Ref") = RandNo()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
      conn.Close
      Response.Redirect ("fillform.asp")
    Else
        strError = "<p><ul><font color=#FFFFFF>" & strError & "</font></ul></p>"
    End If
End If
%>
Avatar billede html_wizard Nybegynder
07. maj 2003 - 12:20 #11
Tak for hjælpen...
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