Avatar billede hehlers Nybegynder
03. maj 2004 - 13:29 Der er 5 kommentarer og
1 løsning

Bekræftelse på formmail

Hejsa

Jeg har en bestillingsform, hvor folk kan indtaste en række oplysninger...

Når de trykker submit på bestil.asp så kaldes sendmail.asp. På sendmail.asp bliver bestillingen så vist og samtidig med det sendes bestillingen med det samme.

Jeg vil så gerne have det sådan, at man først skal bekræfte bestilligen på sendmail.asp inden at mailen sendes.
----------------------------------------------------

Koden i sendmail.asp ser således ud:
---------------------------------------

<%Response.Expires = -10000%>
<%
'hent felt Array
if Request.Form <> "" then
    Redim Preserve ArrUnsorted(-1)
    for each Item in Request.Form
        if Instr(1, Item, "-") > 1 then
            Redim Preserve ArrUnsorted(Ubound(ArrUnsorted)+1)
            ArrUnsorted(Ubound(ArrUnsorted)) = Item
        end if
    next
    ArrSorted = sortArray(ArrUnsorted)
   
end if
   

' Hent info fra kontaktside:
                modtager = "mail@mail.dk.dk"
'        modtager    = request.form("_mailto")
        mailserver  = request.form("_mailserver")
        subject    = request.form("_subject")
        'ok_side    = request.form("_succesDoc")
        fejl_side  = request.form("_errorDoc")
        email_fra  = "mail@mail.dk"
        from_name  = request.form("Name")
       

    set mailer = Server.createObject("SMTPsvg.Mailer")
 

    'mailer.RemoteHost = mailserver
    mailer.RemoteHost = "mail.mailserver.dk"
    mailer.FromName = from_name
    mailer.FromAddress = email_fra
    mailer.AddRecipient "Firma", modtager
   
    mailer.Subject = subject
    mailer.ContentType = "text/html"
    mailer.CharSet = 2
    mailer.Organization = "ProInfo A/S"
   
   
    theBodyText = getBodyText(subject)
        mailer.BodyText = theBodyText
   
    If mailer.SendMail Then
        Response.Clear
        'Response.Redirect(ok_side)
        Set mailer = Nothing
  Else
        Dim ErrString
        ErrString = mailer.Response
        Set mailer = Nothing
        Response.Clear
        Response.Redirect(fejl_side)
  End If

Response.write theBodyText

function sortArray(arrIn)
    for n = 0 to Ubound(arrIn)
        lastValue = "¤¤¤¤¤"
        for i = 0 to Ubound(arrIn)
            if not lastValue = "¤¤¤¤¤" then
                thisValue = arrIn(i)
                if lastValue > thisValue then
                    arrIn(i) = lastValue
                    arrIn(i-1) = thisValue
                end if
            end if
            lastValue = arrIn(i)
        next
    next
    sortArray = arrIn
end function


function getBodyText(subject)
    getBodyText = "<Html><Head></Head><Body><table>"
    getBodyText = getBodyText & "<tr><td align=left colspan=2 bgcolor=#efefef><font size=2 face=Verdana, Arial, Helvetica, sans-serif><b>"& subject & "</b><br>Tak for bestillingen, for at udskrive klik da <a href=java script:print()>her</a></font></td></tr>"

    pris_server=0
    pris_service=0
    pris_abo=175
   
    for i = 0 to Ubound(ArrSorted)
      getBodyText = getBodyText &  "<tr><td valign=top width=200 bgcolor=#E5E5E5><font size=1 face=Verdana, Arial, Helvetica, sans-serif><b>" & Split(ArrSorted(i), "-")(1) & "</b></font></td><td width=200 bgcolor=#F8F8F8><font size=1 face=Verdana, Arial, Helvetica, sans-serif>" & Request.Form(ArrSorted(i)) & "</font></td></tr>"
        ' Beregning af priser
          if Instr(Split(ArrSorted(i), "-")(1),"*") then pris_server = pris_server + Clng(Request.Form(ArrSorted(i)))
          if Instr(Split(ArrSorted(i), "-")(1),"!") then pris_service = pris_service + Clng(Request.Form(ArrSorted(i)))
      Next


    getBodyText = getBodyText & "<tr><td><font size=1 face=Verdana, Arial, Helvetica, sans-serif><b>Abonnement:</b></font></td><td><font size=1 face=Verdana, Arial, Helvetica, sans-serif>" &  formatcurrency(pris_abo) & "</font></td></tr>"
    getBodyText = getBodyText & "<tr><td><font size=1 face=Verdana, Arial, Helvetica, sans-serif><b>Serversupport i alt:</b></font></td><td> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>" &  formatcurrency(pris_server) & "</font></td></tr>"
    getBodyText = getBodyText & "<tr><td><font size=1 face=Verdana, Arial, Helvetica, sans-serif><b>Services i alt:</b></font></td><td> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>" &  formatcurrency(pris_service) & "</font></td></tr>"
    getBodyText = getBodyText & "<tr><td colspan='2'><hr></td></tr>"
    getBodyText = getBodyText & "<tr><td><font size=1 face=Verdana, Arial, Helvetica, sans-serif><b>I alt:</b></font></td><td> <font size=1 face=Verdana, Arial, Helvetica, sans-serif><b>" &  formatcurrency(pris_abo + pris_server + pris_service)  & " pr. måned</b></font>"


    getBodyText = getBodyText & "<tr><td align=right colspan=2 bgcolor=#7DC2DE><font size=1 face=Verdana, Arial, Helvetica, sans-serif>" & date & " : " & time & "</font></td></tr>"
    getBodyText = getBodyText & "</table></body></html>"

end function

    %>
Avatar billede keysersoze Ekspert
03. maj 2004 - 13:35 #1
du bliver nødt til at lave lidt om på strukturen så. sendmail.asp skal indeholde en lignende form med de samme felter etc (du kan bare lave alle felterne hidden så brugeren ikke ser den), disse felter fylder du bare med indhold fra bestil.asp og så en knap til bekræftelse. Klikkes på knappen submittes formen så til fx sendmaildo.asp som indeholder det som sendmail.asp gør nu.
Avatar billede hehlers Nybegynder
03. maj 2004 - 13:58 #2
Ja, det kunne jeg selvfølgelig, men problemet er bare at det er en dynamisk form, hvor antallet af formfelter er varierende.

Derfor bruger jeg: "for each item in request.form".
Kan jeg så godt gøre det du skriver? ;)
Avatar billede keysersoze Ekspert
03. maj 2004 - 14:03 #3
det kommer an på på hvilken måde de er dynamiske og hvilke formtyper det er - men umiddelbart vil jeg sige ja omend det kan blive lidt svært at lave
Avatar billede keysersoze Ekspert
03. maj 2004 - 14:04 #4
eller også kan de bare udforme din mail (altså svarende til din getBodyText) på sendmail.asp og lægge det i et textarea som du så submitter videre. Så slipper du for at oprette en masse forms etc
Avatar billede hehlers Nybegynder
03. maj 2004 - 14:22 #5
aaah ja, det er altid godt med lidt fantasi.. :)

Jeg kigger lige på det i løbet af i morgen.. ;)
Avatar billede hehlers Nybegynder
26. august 2004 - 09:25 #6
lukker
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