Oprettet man. d. 11. februar 2002 kl. 11:08:16

ezolu (nedlagt brugerprofil)
ezolu (nedlagt brugerprofil) (16.647 point. Point ude: 675)

Avanceret mailingliste

Hej

Jeg har brug for at en bruger skal kunne tilmelde sig en slags mailingliste der gør at vedkommende modtager en email hver gang der er en ny post i det rs som han/hun har valgt...

Altså en form m flg. inputs:
- navn
- email
og i mit tilfælde - 2 dropdowns (som ikke skal genereres i ASP men blot i HTML) -
- f.eks Hunde, Katte, Marsvin, Akvariefisk osv.
- f.eks Danmark, Rusland, Afghanistan osv.

Hvis John Doe med email'en john@doe.com således ønskede at få besked om hvornår der var ankommet nye russiske marsvin - skal han ha det!

Have I made myself clear?

På forhånd tak

Skrevet man. d. 11. februar 2002 kl. 23:00:06| #1

integra2ren
integra2ren (19.667 point)
Du kan gøre det på denne måde:

Hvis John Doe taster sine oplysninger ind i en form, som du herefter fylder i en database. Husk at lave et emne (Katte, marsvin..)som også lægges i databasen

Så laver du en side med en form som hælder oplysninger i en database som bruges til indholdet på siden. Og når du så klikker på knappen i send bliver oplysningerne både lagt i databasen og sendt til brugeren. Brugeren navn email og hvilke kategori han abonnerer på hentes fra databasen.

Her er et eksempel:


<%
    overskrift = request("overskrift")
    besked = request("besked")   

if  Request.ServerVariables("REQUEST_METHOD") = "POST" then


    response.write " Følgende har fået tilsendt nyhedsbrevet<br><br><br> "
   
    'her skrives indholdet til databasen
       
        Const adOpenKeyset = 1
        Const adLockOptimistic = 3
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../db/db.mdb")

        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "Select * From dagbog"
        rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

        rs.AddNew
        rs("overskrift") = Request.form("overskrift")
        rs("Besked") = Request.form("Besked")
       
        rs.Update

        rs.Close
        Set rs = Nothing

        Conn.Close
        set Conn = Nothing

    'her åbnes til login databasen
       
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../../db/db.mdb")
        SQLstmt = "SELECT * FROM login ORDER BY ID desc;"
        Conn.Execute (SQLstmt)
        Set rs = conn.Execute(SQLstmt)

    'looper resultatet

        DO WHILE NOT rs.EOF
        ID = rs("ID")
        navn = rs("navn")
        email = rs("email")
        on error resume next
   

    'her starter jmail indholdet sendes via email

   
        Set JMail = Server.CreateObject("JMail.SMTPMail")
        JMail.ContentTransferEncoding = "8bit"
        JMail.Charset = "ISO-8859-1"
       
        JMail.Priority = 1
        JMail.ServerAddress = "smtp.integra2ren.dk"
        JMail.Sender = "dorthe@integra2ren.dk"
        JMail.Subject = "Dorthes Dagbog"
        JMail.Body = "bla bla bla" & vbCrLf & vbCrLf &"xxxxx har skrevet:" & vbCrLf & vbCrLf & vbCrLf & overskrift & vbCrLf & vbCrLf & besked & "....." & vbCrLf & vbCrLf & vbCrLf
        JMail.Body= JMail.Body + "klik ind på www.integra2ren.dk/dorthe og læs resten" & vbCrLf & vbCrLf
        JMail.Body= JMail.Body + "-------------------------------------------------------------------"  & vbCrLf
        JMail.Body= JMail.Body + "Her kan du læse om hvordan hverdagen er i xxxxxx og du kan se billeder af forskellige kendte steder i byen" & vbCrLf & "Der er også mulighed for at DU kan påvirke siden. " & vbCrLf & "Skriv en hilsen eller et spørgsmål til Dorthe eller kommentér en af de andre brugeres indlæg på siden" & vbCrLf & vbCrLf
        JMail.Body= JMail.Body + "Hvis du vil skrive direkte til Dorthe kan du gøre det på dorthe-d-jensen@ofir.dk" & vbCrLf   
        JMail.Body= JMail.Body + "-------------------------------------------------------------------"  & vbCrLf 
        JMail.Body= JMail.Body + "xxxxx er lavet af Thomas Jensen  " & vbCrLf & vbCrLf & "Hvis du har ris eller ros kan du skrive til: " 

        JMail.AddRecipient email
        ' Send it...
        JMail.Execute
        set JMail = nothing
        response.redirect("email.asp")

   

    'lukker databasen
       
        rs.MoveNext
        LOOP
        RS.Close
        conn.Close
        Set conn = nothing
        Set SQLstmt = nothing
    'her kommer selve html-siden som du selv kan lave som du vil husk Formen til at fylde indhold i databasen
else %>
<!--#include file = "../incl/setup.asp"-->
<html>
<head><title></title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../incl/style.css" type="text/css">
</head>


<body bgcolor="#FFFFFF" text="#000000">
    <TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
    <TBODY>
    <TR>
    <TD vAlign=top align=middle>

    <TABLE cellSpacing=0 cellPadding=0 border=0>
        <TBODY>
    <TR>
    <TD bgcolor="#FFFFFF"><a href="http://www.INTEGRA2REN.DK/ (...) height=39 alt="" src="../grafik/images/admin/logo1.jpg" width=121 border=0></a></TD>
    <TD background="../grafik/images/admin/top.jpg" width="479">

    <%=adminmenu%>
    </TD>
        </TR>
    <TR>
    <TD colSpan=2><img src="../grafik/images/admin/dagbog_top.jpg" width="600" height="77" border="0"></TD>
        </TR
        <TR>
    <TD colSpan=2>

       

    <form method="POST" class="css" action="form.asp">

    <center><br>

    <table border="0" width="400">
    <tr>
    <td align="right">Overskrift:    &nbsp;&nbsp;</td>
    <td ><input ID="FORM" type="text" name="overskrift" size="35"></td>
    </tr>
    <tr>
    <td Valign="top" align="right">Emne:        &nbsp;&nbsp;</td>
    <td><textarea ID="FORM" wrap="virtual" name="Besked" cols="45" rows="8"></textarea></td>
    </tr>
    <tr>
    <td Valign="middle" align="center" colspan="2"><br><input ID="small_submit" type="submit" value="Gem"></td>
    </tr>
    </table>

    </center>

</form>




    </TD>
        </TR>
        <TR>
    <TD colSpan=2><IMG height=19 alt="" src="../grafik/images/admin/bund_bar.jpg" width=600 border=0></TD>
        </TR>
        <TR>
        <TD colSpan=2><A href="http://www.INTEGRA2REN.DK" target=_self><IMG height=20 alt="" src="../grafik/images/admin/copy.jpg" width=79 border=0> </A></TD>
        </TR>
    </TBODY>
    </TABLE>
    </TD>
    </TR>
    </TBODY>
    </TABLE>
</body>
</html>
<%end if%>

Skrevet man. d. 11. februar 2002 kl. 23:02:25| #2

integra2ren
integra2ren (19.667 point)
Håber det kan bruges :-)

Det er rimelig nemt at forstå. Ellers kan du prøve at finde et "anbefal til en ven"-script som du bygger sammen med nogle databaser.

Skrevet tir. d. 12. februar 2002 kl. 12:24:17| #3

integra2 > Det ser da meget godt ud, men jeg kan ikke se hvor den funktion som jeg efterspørger er henne - nemlig at der hver gang der kommer en ny post skal sendes en email.
Altså jeg har en tbl_abbon_email :
ID(auto), Navn(navn fra formen), Email(email fra formen), Abbo_sted(Land fra formen), Abbo_type(hvilket dyr), Status(enten "har" eller "soeger")
Den skal jo så holdes op mod en anden tabel, således at hvis der en der smækker noget data i "hovedtabellen" som matcher en eller anden persons ønsker i tbl_abbon_email så skal denne en eller anden ha' en email om det...

Skrevet tir. d. 12. februar 2002 kl. 22:18:45| #4

integra2ren
integra2ren (19.667 point)
Det sker idet indholdet bliver sendt. Det script jeg har givet dig er det script du bruger til at fylde indhold i siden. Når du så trykker på knappen sender den indholdet af formen både til siden og henter email adresser fra en database som den også sender et eller andet til (i dette tilfælde en del af indholdet og en fast hilsen).
Den database med emailadr kan du opbygge med et par kolonner med de forskellige emneområder.
Så kan du jo select * fra tilmeldte WHERE emne = dyr

og så sende til dem der kommer ud.

Skrevet ons. d. 13. februar 2002 kl. 10:22:06| #5

integra2 > Jeg tror faktisk det begynder at se helt godt ud, men hvordan får jeg den til at tage nogle oplysninger fra den netop afsendte form, om smække med i mailen?
Jeg har lavet en sql der hedder:
strSted = request.form("Sted")
strType = request.form("Type")

SQLstmt = "SELECT * FROM tbl_abbon_email WHERE Abbo_sted = 'strSted' AND Abbotype = 'strType' AND Status = 'Soeger' ORDER BY ID desc;"

Kan man ovenstående SQL og hvis ikke - hvordan skal det så skrives?

Dernæst ville jeg gerne i Jmail.Body - have nogle oplysninger fra formen igen - altså skal de to variabler strSted og StrType være med i mailen også...

Ala sådan her:
Kære "navn"

Der er en ny post i den kategori du har valgt at abbonere på :

- "strType"
- "strSted"

Skrevet ons. d. 13. februar 2002 kl. 10:30:42| #6

integra2ren
integra2ren (19.667 point)
Hvis du ser på dette stykke så er login-databasen de tilmeldte til den nyhedstjeneste.

Først forbindelse til databasen og derefter sættes nogle variabler, som kaldes senere i jmail.body.

  'her åbnes til login databasen
       
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../../db/db.mdb")
        SQLstmt = "SELECT * FROM login ORDER BY ID desc;"
        Conn.Execute (SQLstmt)
        Set rs = conn.Execute(SQLstmt)

    'looper resultatet

        DO WHILE NOT rs.EOF
        ID = rs("ID")
        navn = rs("navn")
        email = rs("email")
        on error resume next
   

    'her starter jmail indholdet sendes via email

   
        Set JMail = Server.CreateObject("JMail.SMTPMail")
        JMail.ContentTransferEncoding = "8bit"
        JMail.Charset = "ISO-8859-1"
       
        JMail.Priority = 1
        JMail.ServerAddress = "smtp.integra2ren.dk"
        JMail.Sender = "dorthe@integra2ren.dk"
        JMail.Subject = "Dorthes Dagbog"
        JMail.Body = "bla bla bla" & vbCrLf & vbCrLf &"xxxxx har skrevet:" & vbCrLf & vbCrLf & vbCrLf & overskrift & vbCrLf & vbCrLf & besked & "....." & vbCrLf & vbCrLf & vbCrLf
        JMail.Body= JMail.Body + "klik ind på www.integra2ren.dk/dorthe og læs resten" & vbCrLf & vbCrLf
        JMail.Body= JMail.Body + "-------------------------------------------------------------------"  & vbCrLf
        JMail.Body= JMail.Body + "Her kan du læse om hvordan hverdagen er i xxxxxx og du kan se billeder af forskellige kendte steder i byen" & vbCrLf & "Der er også mulighed for at DU kan påvirke siden. " & vbCrLf & "Skriv en hilsen eller et spørgsmål til Dorthe eller kommentér en af de andre brugeres indlæg på siden" & vbCrLf & vbCrLf
        JMail.Body= JMail.Body + "Hvis du vil skrive direkte til Dorthe kan du gøre det på dorthe-d-jensen@ofir.dk" & vbCrLf   
        JMail.Body= JMail.Body + "-------------------------------------------------------------------"  & vbCrLf 
        JMail.Body= JMail.Body + "xxxxx er lavet af Thomas Jensen  " & vbCrLf & vbCrLf & "Hvis du har ris eller ros kan du skrive til: " 

        JMail.AddRecipient email
        ' Send it...
        JMail.Execute
        set JMail = nothing
        response.redirect("email.asp")

   

    'lukker databasen
       
        rs.MoveNext
        LOOP
        RS.Close
        conn.Close
        Set conn = nothing
        Set SQLstmt = nothing
    'her kommer selve html-siden som du selv kan lave som du vil husk Formen til at fylde indhold i databasen

Skrevet ons. d. 13. februar 2002 kl. 10:33:36| #7

integra2ren
integra2ren (19.667 point)
JMail.Body = "bla bla bla" & vbCrLf & vbCrLf &"xxxxx har skrevet:" & vbCrLf & vbCrLf & vbCrLf & overskrift & vbCrLf & vbCrLf & besked & "....." & vbCrLf & vbCrLf & vbCrLf

Her er f.eks besked en variabel som igen er et rs fra en database som er connectet længere oppe

Skrevet ons. d. 13. februar 2002 kl. 11:36:09| #8

inte > Nå ja - det havde jeg ikke lige set. Hvad med den sql jeg havde skrevet?

Skrevet tor. d. 14. februar 2002 kl. 15:01:14| #9

integra2ren
integra2ren (19.667 point)
Ser ud til at  ville virke men jeg er ikke den store sql-haj. Så derfor vil jeg ikke spille klog på din udemærkede sætning :-)

Men prøv den

Skrevet tor. d. 14. februar 2002 kl. 19:49:30| #10

integra2 > Det virker sgu over al forventning.......... Lige bortset fra at den ikke tager mine variabler med i mailen - dem som i dit eksempel hedder
ID = rs("ID")
navn = rs("navn")
email = rs("email")
Kommer de med i mailen hos dig??
PS: Du skal nok få points...

Skrevet fre. d. 15. februar 2002 kl. 18:45:56| #11

Nu virker det - mange tak !!!

Skrevet lør. d. 16. februar 2002 kl. 00:12:43| #12

integra2ren
integra2ren (19.667 point)
ok god fornøjelse

Skrevet tir. d. 19. februar 2002 kl. 13:01:15| #13

integra2ren
integra2ren (19.667 point)
HUSH at lave afsender emailen om så du selv får alle fejlmedelserne. Jeg er lidt træt af dem:

lav denne linie om:
  JMail.ServerAddress = "smtp.integra2ren.dk"
til:
  JMail.ServerAddress = "smtp.ditdomæne"

TAK

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

ASP: formular udtræk med mulighed for at rette

Oprettet den 21. maj 2012 kl. 15.09
quarkb giver 200 point for svar | Giv et svar »

Sorter biblioteker efter dato i ASP

Oprettet den 17. maj 2012 kl. 16.52
4ks giver 60 point for svar | Giv et svar »

Simpel login-funktion (web) - behov for flere logins/brugere

Oprettet den 15. maj 2012 kl. 09.54
madx giver 75 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger