webForumDet fria alternativet

Aspsmartmail

7 svar · 262 visningar · startad av eklundpetter

eklundpetterMedlem sedan nov. 20044 inlägg
#1

Hej, jag skulle behöva hjälp med att få nedanstående kod som jag gjort ändrad till aspsmartmail från jmail... Jag har försökt men nånstans så spricker det, är det någon som har koll? det som funkar är att det blir skickat och kommer fram, men det som bara kommer med i mailet är avsändarens epostadress samt namn och subject, det är det som skrivs ut men allt det andra finns inte med???
-------------------------------------------------------
<!--#include file="installningar.asp"-->
<%
Response.Buffer = true

namn = Request.Form("namn")
adress = Request.Form("adress")
postnr1 = Request.Form("postnr1")
postnr2 = Request.Form("postnr2")
padress = Request.Form("postadress")
tfn1 = Request.Form("tfn1")
tfn2 = Request.Form("tfn2")
epost = Request.Form("epost")
ovrigt = Request.Form("ovrigt")
info = Array(namn,adress,postnr1,postnr2,padress,tfn1,tfn2,epost,ovrigt)
info2 = ""
For i = 0 to 8
info2 = info2 & info(i)
IF Not i = 8 then
info2 = info2 & "|"
END IF
Next
For i = 0 to 7
IF NOT len(info(i)) <> 0 then
Session("webshopfel") = "Du glömde att fylla i något fält"
session("falt") = info2
Response.Redirect Request.ServerVariables("HTTP_REFERER")
END IF
Next

IF len(info(2)) > 5 then
Session("webshopfel") = "Felaktigt postnummer"
Session("falt") = info2
Response.Redirect Request.ServerVariables("HTTP_REFERER")
END IF

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("../../sys/webshop.mdb")
Session.Lcid = 1053

varde = Request.Cookies(""& Session.SessionID &"")
hamta = Split(varde,"&")
ReDim MyArray(4,Ubound(hamta))
for x = 0 to ubound(hamta)
hamta2 = Split(hamta(x),"=")
IF Len(hamta2(0)) > 0 AND len(hamta2(1)) > 0 then
SQL = "SELECT * FROM produkter WHERE id =" & int(hamta2(0))
Set RecSet = Connect.Execute(SQL)
MyArray(0,x) = hamta2(0)
MyArray(1,x) = hamta2(1)
MyArray(2,x) = RecSet("artnr")
MyArray(3,x) = RecSet("namn")
MyArray(4,x) = RecSet("pris")

RecSet.Close
Set RecSet = nothing
END IF
next

Set mailare = Server.CreateObject("aspSmartMail.SmartMail")

mailare.Server = ""&mailserver&""
mailare.SenderName = ""&namn&""
mailare.SenderAddress = ""&epost&""
mailare.Recipients.Add "minmail@adress.se", "Mottagarens namn"

mailare.Subject = "Beställning"
HTML= "<font face=verdana size=1>"
For i = 0 To Ubound(myArray,2)
IF Len(MyArray(0,i)) > 0 then
HTML= "Art.nr: " & MyArray(2,i) & "<br>"
HTML= "Produkt: " & MyArray(3,i) & "<br>"
HTML= "Antal: " & MyArray(1,i) & "<br>"
HTML= "-------------------------------------------<br>"
IF i = Ubound(myArray,2) then
HTML= " <br>"
END IF
END IF
Next
HTML= "Namn: " & info(0) & "<br>"
HTML= "Adress: " & info(1) & "<br>"
HTML= "Postnr: " & info(2) & info(3) & "<br>"
HTML= "Postadress: " & info(4) & "<br>"
HTML= "Telefonnummer: " & info(5) & "-" & info(6) & "<br>"
HTML= "E-post: " & info(7) & "<br>"
HTML= "Övrigt: " & info(8) & "<br>"
HTML= "Skickat: " & Now() & "<br>"
HTML= "</font>"

mailare.body = ""&html&""
mailare.Priority = 2
mailare.ContentType = "text/html"
mailare.Charset = "iso-8859-1"
mailare.SendMail
Set mailare = nothing

For Each nyckel in Request.Cookies(Session.SessionID)
Response.Cookies(Session.SessionID)(nyckel) = ""
Next
sida = Request.ServerVariables("HTTP_REFERER") & "&skickad=ja"
Response.Redirect sida
%>

@ndersMedlem sedan juni 200032 969 inlägg
#2

Hrj, och välkommen till wF. :)

  1. Använd [kod]-taggar när du postar kod, så blir det lättare att läsa.
  2. Varför har du ""& och &"" runt alla variabler när du använder dem i maildelen av scriptet?
  3. Det finns en bra dokumentation av komponenten på http://www.dimac.net/ . Det borde inte ta längre än ett par minuter att översätta med den framför dig.

Lycka till! :bire

J.N.Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

Du missar att ta med dig din befintliga html-sträng, du skapar nytt värde för den hela tiden. Därför skickar du endast </font> i ditt brev vilket en visa källa i brevet bör (=ska!) bekräfta.

...
HTML= "</font>"
mailare.body = ""&html&""
...

eklundpetterMedlem sedan nov. 20044 inlägg
#4

tackar... jag löste det genom att ändra till följande, problemet nu är att allt kommer med förutom, art.nr, produkt och antal...
------------------------------------
HTML= HTML & "<font face=verdana size=1>"
For i = 0 To Ubound(myArray,2)
IF Len(MyArray(0,i)) > 0 then
HTML= HTML & "Art.nr: " & MyArray(2,i) & "<br>"
HTML= HTML &"Produkt: " & MyArray(3,i) & "<br>"
HTML= HTML &"Antal: " & MyArray(1,i) & "<br>"
HTML= HTML & "-------------------------------------------<br>"
IF i = Ubound(myArray,2) then
HTML= HTML &" <br>"
END IF
END IF
Next
HTML= HTML &"Namn: " & info(0) & "<br>"
HTML= HTML & "Adress: " & info(1) & "<br>"
HTML= HTML &"Postnr: " & info(2) & info(3) & "<br>"
HTML= HTML &"Postadress: " & info(4) & "<br>"
HTML= HTML &"Telefonnummer: " & info(5) & "-" & info(6) & "<br>"
HTML= HTML & "E-post: " & info(7) & "<br>"
HTML= HTML &"Övrigt: " & info(8) & "<br>"
HTML= HTML &"Skickat: " & Now() & "<br>"
HTML= HTML &"</font>"

J.N.Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

Finns det några produkter? Testa skriv ut koden på sidan istället, det går snabbare.

Gör också som @nders skriver, använd [kod]-taggar vid långa kodbitar, då blir det lättare att läsa.

eklundpetterMedlem sedan nov. 20044 inlägg
#6

Japp det finns det... så här ser hela koden ut

<!--#include file="installningar.asp"--> 
<% 
Response.Buffer = true 

namn = Request.Form("namn") 
adress = Request.Form("adress") 
postnr1 = Request.Form("postnr1") 
postnr2 = Request.Form("postnr2") 
padress = Request.Form("postadress") 
tfn1 = Request.Form("tfn1") 
tfn2 = Request.Form("tfn2") 
epost = Request.Form("epost") 
ovrigt = Request.Form("ovrigt") 
info = Array(namn,adress,postnr1,postnr2,padress,tfn1,tfn2,epost,ovrigt) 
info2 = "" 
For i = 0 to 8 
info2 = info2 & info(i) 
IF Not i = 8 then 
info2 = info2 & "|" 
END IF 
Next 
For i = 0 to 7 
IF NOT len(info(i)) <> 0 then 
Session("webshopfel") = "Du glömde att fylla i något fält" 
session("falt") = info2 
Response.Redirect Request.ServerVariables("HTTP_REFERER") 
END IF 
Next 

IF len(info(2)) > 5 then 
Session("webshopfel") = "Felaktigt postnummer" 
Session("falt") = info2 
Response.Redirect Request.ServerVariables("HTTP_REFERER") 
END IF 

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("../../sys/webshop.mdb") 
Session.Lcid = 1053 

varde = Request.Cookies(""& Session.SessionID &"") 
hamta = Split(varde,"&") 
ReDim MyArray(4,Ubound(hamta)) 
for x = 0 to ubound(hamta) 
hamta2 = Split(hamta(x),"=") 
IF Len(hamta2(0)) > 0 AND len(hamta2(1)) > 0 then 
SQL = "SELECT * FROM produkter WHERE id =" & int(hamta2(0)) 
Set RecSet = Connect.Execute(SQL) 
MyArray(0,x) = hamta2(0) 
MyArray(1,x) = hamta2(1) 
MyArray(2,x) = RecSet("artnr") 
MyArray(3,x) = RecSet("namn") 
MyArray(4,x) = RecSet("pris") 

RecSet.Close 
Set RecSet = nothing 
END IF 
next 

Set mailare = Server.CreateObject("aspSmartMail.SmartMail")   

  mailare.Server = ""&mailserver&"" 
  mailare.SenderName = ""&namn&"" 
  mailare.SenderAddress = ""&epost&"" 
  mailare.Recipients.Add "min@mail.se", "Mottagarens namn" 

mailare.Subject = "Beställning" 
HTML= HTML & "<font face=verdana size=1>" 
For i = 0 To Ubound(myArray,2) 
IF Len(MyArray(0,i)) > 0 then 
HTML= HTML &"Art.nr: " & MyArray(2,i) & "<br>" 
HTML= HTML &"Produkt: " & MyArray(3,i) & "<br>" 
HTML= HTML &"Antal: " & MyArray(1,i) & "<br>" 
HTML= HTML &"-------------------------------------------<br>" 
IF i = Ubound(myArray,2) then 
HTML= HTML &"&nbsp;<br>" 
END IF 
END IF 
Next 
HTML= HTML &"Namn: " & info(0) & "<br>" 
HTML= HTML & "Adress: " & info(1) & "<br>" 
HTML= HTML &"Postnr: " & info(2) & info(3) & "<br>" 
HTML= HTML &"Postadress: " & info(4) & "<br>" 
HTML= HTML &"Telefonnummer: " & info(5) & "-" & info(6) & "<br>" 
HTML= HTML & "E-post: " & info(7) & "<br>" 
HTML= HTML &"Övrigt: " & info(8) & "<br>" 
HTML= HTML &"Skickat: " & Now() & "<br>" 
HTML= HTML &"</font>" 

  mailare.body = ""&html&"" 
  mailare.Priority = 2 
  mailare.ContentType = "text/html" 
  mailare.Charset = "iso-8859-1" 
  mailare.SendMail 
Set mailare = nothing 

For Each nyckel in Request.Cookies(Session.SessionID) 
Response.Cookies(Session.SessionID)(nyckel) = "" 
Next 
sida = Request.ServerVariables("HTTP_REFERER") & "&skickad=ja" 
Response.Redirect sida 
%>
J.N.Medlem sedan apr. 20031 660 inlägg
#7

HEJ!

Ok, men finns det några i ditt recordset/array?

Bara för att de finns i databasen är det inte säkert att de är så snälla att de visar sig...

Genom att skriva ut vad den kodbiten skapar ser du om servern också håller med om att de verkligen finns.
Det undrar jag nämligen, eftersom du inte får med dem i brevet.

Då återstår att leta efter var det blir fel.

Ser du så snyggt det blir med [kod]-taggar, men har du verkligen inga indrag i din originalkod? Börja isåfall med det, gör det hela mycket överskådligare.

eklundpetterMedlem sedan nov. 20044 inlägg
#8

Sådär tack för all hjälp, nu är det löst! ni är verkligen hjälpsamma här...Tummen upp

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)