Avatar billede pool Nybegynder
29. maj 2001 - 10:38 Der er 3 kommentarer og
1 løsning

Løkke i en løkke

Jeg vil gerne have mit script til at gå til en bestemt side når man ikke udfylder alle feldter!
Jeg har prøvet med en løkke i løkken uden held

/****************************************************************************
/scrip fra Net-Produktion A/S
/Følgende funktioner kan styres
/recipient = modtager
/required = feldter der skal udfyldes
/redirect_req = side der vises ved mangel
/redirect = side der skal vises efterfølgende
/Email = hvem der er afsender
/subject = emne fra formular
/*****************************************************************************
<%
Dim BestillingsMail
dim strBody
  Set BestillingsMail = CreateObject(\"CDONTS.Newmail\")
    Modtager = (request(\"recipient\"))
    BestillingsMail.From = (request(\"Email\"))
      BestillingsMail.To = Modtager
      BestillingsMail.Subject = (request(\"subject\"))
        For Each ITEM In request.form
                strBody = strBody & \" \" & item & \" : \" & request.form(ITEM) & VbNewline  & VbNewline
            If item = \"recipient\" Then
            strBody = \"\"
            end if
            If item = \"required\" Then
            strBody = \"\"
                For Each ITEM in request.form
                    if ITEM = \"\" then
                        response.redirect(request(\"redirect_req\"))
                    end if
                next
            end if
            If item = \"redirect\" Then
            strBody = \"\"
            end if
            If item = \"Email\" Then
            strBody = \"\"
            end if
            If item = \"subject\" Then
            strBody = \"\"
            end if
        Next
            BestillingsMail.Body = strBody
          BestillingsMail.Send
      Set BestillingsMail = Nothing
response.redirect(request(\"redirect\"))
%>

***************************
Her er fejl beskeden!

Tekniske oplysninger (for supportteknikere)

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0410)
Ugyldig \'for\'-løkkekontrolvariabel
/formular/sid_site/SID-filer/formscrip.asp, line 26, column 14
For Each ITEM in request.form
-------------^

Pool
Avatar billede pool Nybegynder
29. maj 2001 - 10:45 #1
Fangede selv svaret
der er verdien jeg skal kikke efter og ikke navnet på formen :-0

Dohh.

Avatar billede zyber Nybegynder
29. maj 2001 - 10:47 #2
Der er store fejl i det oprindelige script, du vil sikkert ikke få alle de felt i din mail som du ønsker, da strBody bliver nulstillet hvis felter er required mm.

Hvis du laver en redirect midt i dit script bliver scriptet ikke kørt færdigt og dermed bliver mailen ikke sendt.

Da du ved hvad felt hedder skal du ikke lave en løkke for at finde værdien. du kan bare hente den med request(\"redirect_req\")).
Avatar billede pool Nybegynder
29. maj 2001 - 10:54 #3
Hej zyber

Jeg bemærkede det godt, jeg ønsker ikke at sende mailen hvis der mangler noget i min required

Pool

/****************************************************************************
/scrip fra Net-Produktion A/S
/Følgende funktioner kan styres
/recipient = modtager
/required = feldter der skal udfyldes
/redirect_req = side der vises ved mangel
/redirect = side der skal vises efterfølgende
/Email = hvem der er afsender
/subject = emne fra formular
/*****************************************************************************
<%
Dim BestillingsMail
dim strBody
  Set BestillingsMail = CreateObject(\"CDONTS.Newmail\")
    Modtager = (request(\"recipient\"))
    BestillingsMail.From = (request(\"Email\"))
      BestillingsMail.To = Modtager
      BestillingsMail.Subject = (request(\"subject\"))
     
            For Each ITEM In request.form
            if request.form(ITEM) = \"\" then
                response.redirect(request(\"redirect_req\"))
            end if
                strBody = strBody & \" \" & item & \" : \" & request.form(ITEM) & VbNewline  & VbNewline
            If item = \"recipient\" Then
            strBody = \"\"
            end if
            If item = \"required\" Then
            strBody = \"\"
            end if
            If item = \"redirect\" Then
            strBody = \"\"
            end if
            If item = \"Email\" Then
            strBody = \"\"
            end if
            If item = \"subject\" Then
            strBody = \"\"
            end if
        Next
            BestillingsMail.Body = strBody
          BestillingsMail.Send
      Set BestillingsMail = Nothing
response.redirect(request(\"redirect\"))
%>
Avatar billede pool Nybegynder
29. maj 2001 - 10:58 #4
og som du kan se blev det ikke en løkke i løkken, men bare et tjeck i form feltet!! om der var indtastet noget!

Pool
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