Avatar billede perstig Nybegynder
24. maj 2001 - 17:42 Der er 7 kommentarer og
1 løsning

Formular via Jmail

Er der en eller anden, der lige som mig bruger en dejlig solskinsdag foran ´puteren, som kan hjælpe mig ?

Mit problem:
Jeg har en indkøbskurv hvor der måske ligger 2 eller flere forskellige vare i.
Det er ikke noget problem at få listet de valgte vare på en side, men hvordan får jeg overført det til en mail via Jmail.
Jeg kan godt få det til at virke med kun 1 vare, men når der er tale om flere har jeg problemet, enten vises varen på én linje eller også vises kun den sidste vare.

Herunder koden fra formen som Jmail skal hente vare fra:
<B>    <TABLE WIDTH=730 BGCOLOR=\"#CCCCCC\" BORDER=\"0\" CELLPADDING=\"4\" CELLSPACING=\"0\">
    <TR>
        <TD CLASS=\"atext\" COLSPAN=\"7\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Din indkøbskurv indeholder følgende vare:</SPAN></TD>
    </TR>
    <TR>   
        <TD WIDTH=\"50\">&nbsp;</TD>
        <TD CLASS=\"ftext\" WIDTH=\"50\" ALIGN=\"center\">Antal</TD>
        <TD CLASS=\"ftext\" WIDTH=\"100\" ALIGN=\"left\">Vare nr.</TD>
        <TD CLASS=\"ftext\" WIDTH=\"200\" ALIGN=\"left\">Vare</TD>
        <TD CLASS=\"ftext\" WIDTH=\"150\" ALIGN=\"right\">Pris pr. stk.</TD>
        <TD CLASS=\"ftext\" WIDTH=\"120\" ALIGN=\"right\">Ialt&nbsp;&nbsp;&nbsp;</TD>
        <TD WIDTH=\"60\">&nbsp;</TD>
    <%
          for (i = 0; i < vareantal; i++) {
              if (Session(\"antal\"+i) == 0) {
              continue;
          }%>
    <TR>
    </TR>
    <TR>
        <TD>&nbsp;<INPUT TYPE=\"hidden\" NAME=\"varelinje\" VALUE=<%=i+1%>\"></TD>
        <TD CLASS=\"atext\" ALIGN=\"center\"><INPUT TYPE=\"hidden\" NAME=\"Antal\" VALUE=\"<%=Session(\"antal\"+i)%>\"><%=Session(\"antal\"+i)%></TD>
        <TD CLASS=\"atext\">
            <%res = con.execute(\"SELECT * FROM FS_Allevare WHERE Autonr=\" + Session(\"vare\"+i));%>
            <INPUT TYPE=\"hidden\" NAME=\"VareNr\" VALUE=\"<%=res.Fields(\"VareNr\")%>\"><%=res.Fields(\"VareNr\")%></TD>
        <TD CLASS=\"atext\" HEIGHT=\"5\"><INPUT TYPE=\"hidden\" NAME=\"Tekst2\" VALUE=\"<%=res.Fields(\"Tekst2\")%>\"><%=res.Fields(\"Tekst2\")%>&nbsp;<INPUT TYPE=\"hidden\" NAME=\"Tekst3\" VALUE=\"<%=res.Fields(\"Tekst3\")%>\"><%=res.Fields(\"Tekst3\")%></TD>
        <TD CLASS=\"atext\" ALIGN=right>
            <%varepris = res.Fields(\"Netpris\");%>
              <INPUT TYPE=\"hidden\" NAME=\"Varepris\" VALUE=\"<%=res.Fields(\"Netpris\")%>\"><%=varepris%>,00 kr. pr. stk
        </TD>
        <TD CLASS=\"atext\" ALIGN=right>
              <%=Math.round(varepris * Session(\"antal\"+i) * 100) / 100%>,00 kr.
              <%totalpris += Math.round(varepris * Session(\"antal\"+i) * 100) / 100;%>
        </TD>
        <TD>&nbsp;</TD>
    </TR>
    <%
    }%>
    <TR>
        <TD>&nbsp;</TD>
        <TD>&nbsp;</TD>
        <TD>&nbsp;</TD>
        <TD>&nbsp;</TD>
        <TD CLASS=\"atext\" ALIGN=\"right\"><B>Total</B></TD>
        <TD CLASS=\"atext\" BGCOLOR=\"#C0C0C0\" ALIGN=right><B><INPUT TYPE=\"hidden\" NAME=\"Totalpris\" VALUE=\"<%=totalpris%>\"><%=totalpris%>,00 kr.</B></TD>
        <TD>&nbsp;</TD>
    </TR>
    <TR>
        <TD>&nbsp;</TD>
        <TD CLASS=\"atext\" COLSPAN=\"4\" ALIGN=\"right\">Du har valgt følgende betalings/forsendelsesmåde:&nbsp;<INPUT TYPE=\"hidden\" NAME=\"Forsend\" VALUE=\"<%=SQL9(\"Tekst\")%>\"><B><%=SQL9(\"Tekst\")%></B></TD>       
        <TD CLASS=\"atext\" ALIGN=\"right\"><INPUT TYPE=\"hidden\" NAME=\"Forsendpris\" VALUE=\"<%=(pris)%>\"><%=(pris)%>,00 kr.</TD>
        <TD>&nbsp;</TD>
    </TR>
    <TR>
        <TD>&nbsp;</TD>
        <TD>&nbsp;</TD>
        <TD CLASS=\"atext\" COLSPAN=\"3\" ALIGN=\"right\"><b>Totalt at betale incl. forsendelse</B></TD>
        <TD CLASS=\"atext\" BGCOLOR=\"#C0C0C0\" ALIGN=right><%totalpris2 = totalpris + pris%><B><INPUT TYPE=\"hidden\" NAME=\"Totalpris2\" VALUE=\"<%=(totalpris2)%>\"><%=totalpris2%>,00 kr.</B></TD>
        <TD>&nbsp;</TD>
    </TR>
</TABLE>

Herunder lidt af den kode jeg har leget med(den er ufuldstændig, men brugbar)
Avatar billede perstig Nybegynder
24. maj 2001 - 17:43 #1
Ups! jeg glemte den sidste kode

<%
    Set jmail = Server.CreateObject(\"JMail.Message\")

    jmail.AddRecipient \"perstig@get2net.dk\", \"Hr. Hansen\"
    jmail.From = \"perstig@get2net.dk\"

    Antal = Split(Request.form(\"Antal\"),\",\")
    Varenr = Split(Request.form(\"Varenr\"),\",\")
    Tekst2 = Split(Request.form(\"Tekst2\"),\",\")
    Tekst3 = Split(Request.form(\"Tekst3\"),\",\")
    Varepris = Split(Request.form(\"Varepris\"),\",\")
    Vareantal = Session(\"vareantal\")
    Varelinje = Split(Request.form(\"varelinje\"),\",\")
    Totalpris = Request.form(\"Totalpris\")
    Forsend = Request.form(\"Forsend\")
    Forsendpris = Request.form(\"Forsendpris\")
    Totalpris2 = Request.form(\"Totalpris2\")

    jmail.Subject = \"Bekræft ordre fra web-shoppen\"
   
    for Varelinje = 1 to Vareantal
    jmail.Body = Antal(Varelinje-1)
    next   

    jmail.Send(\"smtpserver.get2net.dk\" )%>

Ordren er afsendt!!

</BODY></HTML>
Avatar billede perstig Nybegynder
24. maj 2001 - 17:50 #2
Det skal lige med at ovennævnte kode virker fint, men jeg har valgt kun at teste med en af felterne \"Antal\" og det virker fint.
Ovenstående viser kun antallet fra den sidste vare.
Jeg har også prøve med
jmail.Body = Request.form(\"Antal\") som viser antal på alle valgte vare men på en linje, som bliver lidt uoverskueligt ved mange vare.
Avatar billede erikjacobsen Ekspert
25. maj 2001 - 12:10 #3
Prøv

dim a,v
  a = Split(Request.form(\"Antal\"),\",\")
  v = Split(Request.form(\"Varenr\"),\",\")

svar=\"\"
for i=lbound(a) to ubound(a)
  svar=svar & \"Antal \" & a(i) & \" varenr \" & v(i) & vbcrlr
next

...og brug svar som body
Avatar billede perstig Nybegynder
25. maj 2001 - 12:35 #4
Jeg prøver, men jeg ved ikke lige hvornår jeg vender tilbage(datteren kræver at cyklerne skal luftes i dette dejlige sommervejr)
Men hvad der kommer fra dig, plejer jo at være iorden
Så, på forhånd tak
VH
Per Stig
Avatar billede erikjacobsen Ekspert
25. maj 2001 - 12:38 #5
...ellers vender du vel tilbage....
Avatar billede perstig Nybegynder
25. maj 2001 - 12:41 #6
Det ka´du tro
Avatar billede perstig Nybegynder
25. maj 2001 - 16:32 #7
Hej Erik

Som ventet så virker dit forslag, tak for det !

Men hvorledes styre man outputet i mailen så alle antal, varenr osv bliver vist pænt og ordentligt under hinanden.
Er det noget med Response.write<Table><TD>osv. ?
Det kan jo godt gå hen og blive noget indviklet, eller har et bedre forslag.

Herunder kan du hvorledes jeg har gjort:

    jmail.body = jmail.body & \"\"&vbcrlf
    jmail.body = jmail.body & \"        ----- VIGTIGT!! VIGTIGT!! ----- \"&vbcrlf
    jmail.body = jmail.body & \"\"&vbcrlf   
    jmail.body = jmail.body & \"Besvar denne mail og ordren vil blive fremsendt straks\"&vbcrlf
    jmail.body = jmail.body & \"Du skal bare trykke på Besvar(Reply) oppe i menulinjen\"&vbcrlf&vbcrlf
    jmail.body = jmail.body & \"Du har bestilt følgende:  \"&vbcrlf&vbcrlf
    jmail.body = jmail.body & \" Antal  Varenr        Vare                      Pris\"&vbcrlf
    jmail.body = jmail.body & svar&vbcrlf
    jmail.body = jmail.body & \"                                        Ialt\"&Totalpris&vbcrlf
    jmail.body = jmail.body & \"        Forsendelse metode \"&Forsend&\"  \"&Forsendpris&vbcrlf
    jmail.body = jmail.body & \"                    Ialt incl forsendelse\"&Totalpris2&vbcrlf&vbcrlf

Tak igen
Per Stig
Avatar billede perstig Nybegynder
25. maj 2001 - 18:39 #8
Hej Erik

Med lidt \"fiflen\" frem og tilbage er det lykkes at få et pænt output på mailen.

Hvis du går ind på understående linkog svare, er der 15 point yderlig til dig, som tak for hjælpen:

http://www.eksperten.dk/spm/75699
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