|
|
|
|
|
Dicas
|
|
ASP - Active Server Page (Miscelâneas)
|
|
|
Título da Dica: Conduza o seu site ao sucesso, com uma secção de notícias permanentemente actualizadas
|
|
|
|
Postada em 23/10/2003 por ^HEAVY-METAL^
O sucesso de um site, não pode existir, sem que este possua algo que faça com que os visitante lá tornem.
Um dos métodos, mais triviais, e provavelmente mais eficazes, é a criação de uma secção de notícias, em constante actualização, o que mostra ao visitante que sempre que lá volte, terá uma nova notícia. E para que a sua fama se espalhe é necessário tornar a sua divulgação ainda mais simples, uma vez que o cybernauta, não é um visitante como o que vai a uma loja, por mais calmos que eles se encontrem, quando estão a navegar pelo ciberespaço, estão sempre cheios pressa.
Neste artigo é-lhe demostrado, como poderá criar o seu sistema de notícias e para tornar a divulgação mais simplista, foi criado também um sistema que basta introduzir o e-mail, e o URL será submetido directamente para a caixa de e-mail do destinatário.
(Legenda: ASP HTML ) ficheiro : Default.asp
<% ' este ficheiro pode ser considerado com dois, um primeiro que 'mostra os cabeçalhos (títulos) e outro que mostra a notícia ' vamos verificar se há alguma notícia seleccionada
Set MinhaConexao= CreateObject("adodb.connection") MinhaConexao.Open "DSN=News" if not request.Querystring="" then ' se o "Query" não for nulo então cria-se a ligação ' Como tenho por hábito usar MDB links, em lugar das DSN LESS SqlQuery="Select TabNoticias.Data, TabNoticias.Antetitulo, TabNoticias.Titulo, TabNoticias.Noticia FROM TabNoticias where TabNoticias.ID="&Request("id") Set Rs=MinhaConexao.Execute(SqlQuery) 'Ligação feita ' vamos criar agora uma constante para que o ASP, saiba o que 'escrever na página, os cabeçalhos, ou a notícia. Noticia=1 else 'caso o "Query" seja nulo SqlQuery="Select TabNoticias.ID, TabNoticias.Data, TabNoticias.Antetitulo, TabNoticias.Titulo, TabNoticias.Noticia FROM TabNoticias ORDER BY TabNoticias.Data DESC" Set Rs=MinhaConexao.Execute(SqlQuery) End if ' Criamos agora uma função que cria as quebras de linha e os parágrafos no texto Function FormatStr(String) on Error resume next String = Replace(String, CHR(13), "") String = Replace(String, CHR(10) & CHR(10), "</P><P> ") String = Replace(String, CHR(10), "<BR> ") FormatStr = String End Function %> <Html> <Head> </head> <body bgcolor="#FFFFFF" text="#003366"> <% if not Noticia=1 then %> <font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#000099">Notícias </font> <hr noshade width="200" size="1" align="left" color="#000099"> <br> <% 'Cria um loop até que sejam criados links para todas as notícias na Base de dados Do until Rs.EOF %> <a href="default.asp?ID=<%=rs("ID")%>"><%=rs("Titulo")%></a> <font size=1>(<%=rs("data")%>)</font><br> <% rs.MoveNext Loop %> </body> </html> <% else %> <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#003366"><%=rs("Antetitulo")%></font><br> <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000033"><%=rs("Titulo")%> </font> <p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#000066"><%=Formatstr(rs("noticia"))%> </font> <p align=right><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000066">(<%=day(rs("data"))%>-<%=month(rs("data"))%>-<%=year(rs("data"))%>)</font></p> <br> <!-- Agora vem a parte do enviar a um amigo --> <font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="amigo.asp?<%=Server.URLEncode( Request.QueryString)%>">Envie esta notícia a um amigo</a></font> </body> </html> <% End if rs.close MinhaConexao.Close %>
Agora o ficheiro que vai recolher os dados da pessoa que envia e para que pessoa a enviar. Após receber os dados, faz a entrega da mesma. De salientar que a componente usada, é a do IIS 5.0. Desta forma se usar o IIS 5.0, este script funcionará.
ficheiro : amigo.asp
<html> <head> <title>Amigo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF"> <% ‘Vamos agora mostrar o Form, se este ainda não tiver sido preencido If not request("post")="1" then %> <p>Qual o email do destinatário:</p> <form name="form1" action="amigo.asp?post=1" method="post"> <p> <input type="text" name="email"> <input type="hidden" name="ID" value="<%=Request.QueryString%>"> </p> <p>Qual o seu nome:</p> <p> <input type="text" name="nome"> <br> <input type="hidden" name="post" value="1"> </p> <p> <input type="submit" name="Enviar" value=" Enviar"> </p> </form> <p> </p> <% 'Se o Form já foi preenchi recolhemos os dados e trata-mos a informação a enviar. Else 'Cria-mos o assunto Assunto="o seu amigo "& Request.form("Nome")&" enviou-lhe esta notícia." 'Como preferi enviar a mensagem em formato HTML, vamos criar uma variável cujo conteúdo não é nada mais senão uma página em HTML HTML = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//EN"">" & NL HTML = HTML & "<html>" HTML = HTML & "<head>" HTML = HTML & "<title>O seu email de "& Request.form("Nome")& "</title>" HTML = HTML & "</head>" HTML = HTML & "<body bgcolor="& chr(34) &"#FFFFFF"& chr(34) &" text="& chr(34) &"#330066"& chr(34) &">" HTML = HTML & "<Font face="& chr(34) &"Verdana"& chr(34) &" size="& chr(34) &"2"& chr(34) &">O seu amigo "& Request.form("Nome") &", achou que esta notícia lhe seria interessante. <BR>" HTML = HTML & "Para ver a noticia que o seu amigo lhe enviou, Clique no URL que se segue, <BR>" HTML = HTML & "<a href="& chr(34) &"http://www.seuhost.com/directoria/default.asp?"& Request.Form("ID") & CHR(34) &" target="& chr(34) &"_blank"& chr(34) &">http://www.seuhost.com/directoria/default.asp?"& Request.Form("ID")&"</a><BR>" HTML = HTML & "Espermos que a notícia seja do seu agrado,” HTML = HTML & " volte sempre...<BR>" HTML = HTML & "Atentamente, <BR>" HTML = HTML & "Seu nome.</font><BR>" HTML = HTML & "<BR></body>" HTML = HTML & "</html>" 'Chama-mos a componente e envia-mos o mail Set myMail = CreateObject("CDONTS.NewMail") myMail.From = "Seu_email@SeuHost.com" myMail.To = Request.Form("Email") myMail.Subject = assunto myMail.BodyFormat = 0 myMail.MailFormat = 0 myMail.Body = HTML myMail.Send Set myMail = Nothing %> O seu email foi enviado com sucesso. <% End if %> </body> </html>
T+,
|
|
|
|
|