USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Sistema de Newsletter
Postada em 9/10/2003 por ^HEAVY-METAL^            
Você irá aprender, agora, como fazer um sistema de newsletter totalmente baseado em XML,XSL e ASP!Esse artigo será dividido por passos para um melhor entendimento do assunto.

Passo1.
Criando o documento XML que conterá os emails e nomes das pessoas

(cadastro.xml)

<?xml version="1.0" encoding="ISO-8859-1"?>
<cadastro>
<usuario>
<nome>Teste</nome>
<email>teste@</email>
</usuario>
<usuario>
<nome>Teste2</nome>
<email>teste2@</email>
</usuario>
</cadastro>



Passo2.
Criando os documentos responsáveis por inserir novos cadastrados na lista



(form_cadastro.html)

<html><body bgcolor="white">
<form action="cadastrar.asp" method="post">
Seu nome:<input type="text" name="nome"><br>
Seu e-mail:<input type="text" name="email"><br>
<input type="submit" value="Cadastrar">
</form>
</body></html>






(cadastrar.asp)

<%@Language=VBScript%>
<html><body>
<%
nome=request.form("nome")
email=request.form("email")
set doc=server.createobject("microsoft.xmldom")
doc.load(server.mappath("cadastro.xml"))
set raiz=doc.documentElement
set registro=doc.createelement("usuario")
raiz.appendchild(registro)
set campo=doc.createelement("nome")
campo.text=nome
registro.appendchild(campo)
set campo=doc.createelement("email")
campo.text=email
registro.appendchild(campo)
doc.save(server.mappath("cadastro.xml"))
response.write"Cadastro realizado com sucesso!"
%><br>
<a href="admin.asp">Clique aqui para voltar à administracao</a>
</body></html>



Passo3.
Mostrando os cadastrados, apagando cadastrado e link para enviar os e-mails



(admin.xsl)

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"
xmlns="http://www.w3.org/TR/REC-html40">
<xsl:template match="/">
<html><body>
<a href="email_escrever.html">Escrever e-mail para cadastrados</a><br>
<center>
<table border="1">
<tr>
<td>Nome</td>
<td>E-Mail</td>
<td>Apagar</td>
</tr>
<xsl:for-each select="cadastro/usuario">
<tr>
<td><xsl:value-of select="nome"/></td>
<td><xsl:value-of select="email"/></td>
<td><a><xsl:attribute name="href">apagar.asp?email=<xsl:value-of select="email"/></xsl:attribute>Apagar</a></td>
</tr>
</xsl:for-each>
</table></center></body></html>
</xsl:template>
</xsl:stylesheet>



(admin.asp)

<%@Language=VBScript%>
<%
set xsldoc=server.createobject("microsoft.xmldom")
set xmldoc=server.createobject("microsoft.xmldom")
xmldoc.load(server.mappath("cadastro.xml"))
xsldoc.load(server.maptah("admin.xsl"))
response.write(xmldoc.transformnode(xsldoc))
%>




(apagar.asp)

<%@Language=VBScript%>
<%response.buffer="true"%>
<%
set xmldoc=server.createobject("microsoft.xmldom")
xmldoc.load(server.mappath("cadastro.xml"))
set raiz=xmldoc.documentElement
set registro=raiz.selectsinglenode("usuario[email='"&request.querystring("email")&"']")
raiz.removechild(registro)
xmldoc.save(server.mappath("cadastro.xml"))
response.redirect"admin.asp"
%>




Passo4.
Já estamos chegando ao final, basta criar o forumlário de envio de e-mail e o arquivo que envia os e-mails

(email_escrever.html)

<html><body bgcolor="white">
<form action="email_enviar.asp">
Mensagem da newsletter:<br>
<textarea name="texto" rows="6" cols="35">
</textarea><br>
<input type="submit" value="Enviar">
</form></body></html>




(email_enviar.asp)

<%@Language=VBScript%>
<%
set rs=server.createobject("adodb.recordset")
rs.open(server.mappath("cadastro.xml"))
do until rs.eof
email=rs("email")
rs.movenext
loop
rs.close
set rs=nothing
texto=request.form("texto")
set mail=server.createobject("CDONTS.NewMail")
mail.To=email
mail.From="seuemail@servidor.com.br"
mail.Subject="Assunto"
mail.Body=texto
mail.Send
set mail=nothing
response.write"E-Mail enviado com sucesso!"
%>
<html><body bgcolor="white">
<a href="admin.asp">Voltar à administracao</a>
</body></html>

T+,
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página