Avatar billede hehlers Nybegynder
10. februar 2005 - 11:21 Der er 12 kommentarer og
2 løsninger

Hjælp til en IF sætning

Hejsa

Jeg har et lille mailmodul som jeg gerne vil have udbygget lidt...

Her er koden til selve mailformen:

<form action="UdsendNyhedsbrev.asp" method="post">

  <table border="0" class=standardst>
    <tr>
      <td>Vælg Interesseområde</td>
      <td width="10" nowrap>&nbsp;</td>
      <td>
        <SELECT name=Int>
          <OPTION value="Int_1">SystemMørtel</OPTION>
          <OPTION value="Int_2">SystemBeton</OPTION>
          <OPTION value="Int_3">Tegl</OPTION>
          <OPTION value="Int_4">Serpo fliseklæb</OPTION>
          <OPTION value="Int_5">ABS Gulve</OPTION>
          <OPTION value="Int_6">Vetonit vægspartel</OPTION>
          <OPTION value="Int_8">FiboKlinker</OPTION>
          <OPTION value="Int_9">FiboBlokke</OPTION>
      <OPTION value="Int_10">Alle</OPTION>
        </SELECT>
      </td>
    </tr>
    <tr>
      <td valign="top"><p>Indhold</p></td>
      <td width="10" nowrap>&nbsp;</td>
      <td>
        <TEXTAREA rows=15 cols=50 id=Indhold name=Indhold></TEXTAREA>
      </td>
    </tr>
    <tr>
      <td valign="top">Send som testmail </td>
      <td width="10" nowrap>&nbsp;</td>
      <td><input name="TestMail" type="checkbox" value="ON" checked>
        (Fjernes n&aring;r rigtig mail skal sendes) </td>
    </tr>
    <tr>
      <td valign="top">Testmail skal sendes til: </td>
      <td width="10" nowrap>&nbsp;</td>
      <td><input name="TestMailAdr" type="text" id="TestMailAdr"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td width="10" nowrap>&nbsp;</td>
      <td>
        <INPUT type="submit" value="Send" id=submit1 name=submit1>
      </td>
    </tr>
  </table>
</form>
-----------------------------------------------
I min fil som sender mailen ( udsendnyhedsbrev.asp ), skal jeg så have en lille if sætning ind det rigtige sted.

Hvis checkboxen TestMail er checket af skal mailen ikke sendes til alle brugerer i databasen, men kun til den mail som er indtastet i feltet TestMailAdr.

Her er koden som til udsendnyhedsbrev.asp:
-----------------------------------------
<%
' Hent antal medlemmer
sql = "SELECT * FROM TblTilmeldingTilNewsletter" '' Where " & Request.Form("Int") & " = True"
Set Member = Server.CreateObject("ADODB.Recordset")
Member.Open sql, conn, 1, 1

if member.RecordCount > 0 then

' Lav Array med emailadresser
dim MailArray()
Redim MailArray(Member.RecordCount)

For i = 0 to Member.RecordCount - 1
MailArray(i) = Member("Email")
Member.MoveNext
next

' Lav lang Streng med ; imellem emailadresser
Mailto = join(MailArray,";")

' Hent Mailvariabler
Overskrift = "Nyhedsbrev fra www.maxit.dk"
'Indhold = Request.Form("Indhold")

' Send Email
Dim myMail
Set myMail = CreateObject("CDONTS.NewMail")
myMail.From = "maxit@maxit.dk"
myMail.Bcc = MailTo ' "kba@optiroc.dk"
Mymail.Subject = Overskrift
myMail.BodyFormat = 0
myMail.MailFormat = 0
MyMail.body = Request.Form("Indhold")
myMail.Send
Set myMail = Nothing

Response.Write "Nyhedsbrev udsendt til " & member.RecordCount & " tilmeldte."
Response.Write "<br><br>"
Response.Write Mailto

else

Response.Write "Ingen tilmeldte"


end if
---------------------------

På forhånd tak, - håber i forstår.. :)
Avatar billede dr-webdesign.tk Nybegynder
10. februar 2005 - 11:27 #1
if request("TestMail") = "NO" then
  MailTo = request("TestMailAdr")
else
  MailTo = Mailto = join(MailArray,";")
end if
Avatar billede hehlers Nybegynder
10. februar 2005 - 11:53 #2
Skal det ikke stå sådan her:
?
-----------------------------
if request("TestMail") = "ON" then
  MailTo = request("TestMailAdr")
else
  MailTo = join(MailArray,";")
end if
Avatar billede dr-webdesign.tk Nybegynder
10. februar 2005 - 11:58 #3
Jo selvfølgelig.
My bad overså den ekstra variabel.
Avatar billede hehlers Nybegynder
10. februar 2005 - 12:54 #4
oki... Som det er nu har jeg det sådan her, og det vriker desværre ikke:
---------------------------------------
<%@ Language=VBScript %>
<!-- #INCLUDE VIRTUAL="/database/DataBaseConnect_Test.asp" -->
<%
' Hent antal medlemmer
sql = "SELECT * FROM TblTilmeldingTilNewsletter" '' Where " & Request.Form("Int") & " = True"
Set Member = Server.CreateObject("ADODB.Recordset")
Member.Open sql, conn, 1, 1

if member.RecordCount > 0 then

' Lav Array med emailadresser
dim MailArray()
Redim MailArray(Member.RecordCount)

For i = 0 to Member.RecordCount - 1
MailArray(i) = Member("Email")
Member.MoveNext
next

' Lav lang Streng med ; imellem emailadresser
if request.Form("TestMail") = "ON" then
  MailTo = request.Form("TestMailAdr")
else
  MailTo = join(MailArray,";")
end if


' Hent Mailvariabler
Overskrift = "Nyhedsbrev"
'Indhold = Request.Form("Indhold")

' Send Email
Dim myMail
Set myMail = CreateObject("CDONTS.NewMail")
myMail.From = "henrik@hehlers.dk"
Mymail.Subject = Overskrift
myMail.BodyFormat = 0
myMail.MailFormat = 0
MyMail.body = Request.Form("Indhold")

myMail.Send
Set myMail = Nothing

Response.Write "Nyhedsbrev udsendt til " & member.RecordCount & " tilmeldte."
Response.Write "<br><br>"
Response.Write Mailto

else

Response.Write "Ingen tilmeldte"


end if


%>

Kan du se om jeg gør noget galt? - Der kommer ikke engang en fejlmelding.
Avatar billede ldanielsen Nybegynder
10. februar 2005 - 13:08 #5
Du mangler:
myMail.BCC = MailTo

Skal ind efter
Set myMail = CreateObject("CDONTS.NewMail")
Avatar billede hehlers Nybegynder
10. februar 2005 - 13:23 #6
Piiiv... Det virker stadig ikke...
Ser sådan ud nu:
-----------------------------------
<%
' Hent antal medlemmer
sql = "SELECT * FROM TblTilmeldingTilNewsletter" '' Where " & Request.Form("Int") & " = True"
Set Member = Server.CreateObject("ADODB.Recordset")
Member.Open sql, conn, 1, 1

if member.RecordCount > 0 then

' Lav Array med emailadresser
dim MailArray()
Redim MailArray(Member.RecordCount)

For i = 0 to Member.RecordCount - 1
MailArray(i) = Member("Email")
Member.MoveNext
next

' Lav lang Streng med ; imellem emailadresser
if request.Form("TestMail") = "ON" then
  MailTo = request("TestMailAdr")
else
  MailTo = join(MailArray,";")
end if


' Hent Mailvariabler
Overskrift = "Nyhedsbrev"
'Indhold = Request.Form("Indhold")

' Send Email
Dim myMail
Set myMail = CreateObject("CDONTS.NewMail")
myMail.Bcc = MailTo ' "hehe@maxit.dk"
myMail.From = "heh@maxit.dk"
Mymail.Subject = Overskrift
myMail.BodyFormat = 0
myMail.MailFormat = 0
MyMail.body = Request.Form("Indhold")
myMail.Send
Set myMail = Nothing

Response.Write "Nyhedsbrev udsendt til " & member.RecordCount & " tilmeldte."
Response.Write "<br><br>"
Response.Write Mailto

else

Response.Write "Ingen tilmeldte"


end if


%>
------------------------------------

Jeg fatter det ikke... :)
Avatar billede ldanielsen Nybegynder
10. februar 2005 - 13:34 #7
Får du en fejl?
Avatar billede hehlers Nybegynder
10. februar 2005 - 13:44 #8
Nej, den siger bare "siden kan ikke vises"...
Avatar billede ldanielsen Nybegynder
10. februar 2005 - 13:52 #9
Det er skam også en fejlmeddelelse

Gå ind i

internet explorer > tools > internet options > fanen Advanced

og fjern krydset i Show friendly http error messages

Luk internet explorer og start igen
Avatar billede hehlers Nybegynder
10. februar 2005 - 14:26 #10
ooh takker...

Fejlen er:

ActiveX component can't create object: 'CDONTS.NewMail'

/admin/www/NyhedsBrev/UdsendNyhedsbrev.asp, line 34
Avatar billede ldanielsen Nybegynder
10. februar 2005 - 14:39 #11
Ok, det ser så ud til at CDONTS ikke er tilstede, så må jeg gætte på at der er tale om en Win 2003 Server?

Så skal du bruge et andet komponent
Avatar billede hehlers Nybegynder
10. februar 2005 - 14:42 #12
hmm oki... Jeg prøver lige at høre ved min host.. :)
Kan ske jeg skal bruge noget helt andet så..

I høre lige nærmere...
Avatar billede hehlers Nybegynder
10. februar 2005 - 14:53 #13
aaah det viser sig at de har skiftet serveren ud.. :)'

Tak for hjælpen begge to. ;)
Avatar billede ldanielsen Nybegynder
10. februar 2005 - 23:09 #14
CDONTS afløser hedder cdosys. Syntaks kan du finde mange steder
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