Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

File://D:/Winnt/Temp/Trigcckk - HTM: Artigos

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 7

file://D:\WINNT\TEMP\triGCCKK.

htm

pt4free | sugestõ es | publicidade

Inicial | Artigos | Downloads | Componentes | Forum | Links | Livraria | Documentos

Artigos Recentes: Envio de Mensagens para telem óveis através de SMS


Cria ção de Directorias usando ASP
Virtuais Atrav és das ASP escrito por José Barros
de David Pereira ( 1962 leituras)
________________________
Em Portugal este processo apareceu desde cedo.
Temporizador O exemplo que eu vos apresento, utiliza a componente de e-
de Roland Mensenkamp ( 3476
leituras)
mail, mas para isso é necessário formatar as diversas
________________________ informações, tais como: n.º de telemóvel, pois os processos
são distintos para cada operador, e verificar se o campo de
Integra ção de Sistema de
Gestão de Banners mensagens não ultrapassa um n úmero mínimo de caracteres.
de Vitor Spencer ( 2693 leituras)
Listar Todos os Artigos Comecemos pelo form:
Escolha o Colunista: (Cores: ASP HTML JavaScript )
--colunistas--------- >>

ficheiro : Default.htm

<Html>
<Head>
<Script language="JavaScript">
<!--
function MM_validateForm() { //v2.0
var i,objStr,field,theCheck,atPos,theNum,colonPos,min,max,errors='';
for (i=0; i<(MM_validateForm.arguments.length -2); i+=3) {
objStr = MM_validateForm.arguments[(navigator.appName == 'Netscape')?i:i+1];
if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
(objStr.indexOf('document.all[') ==0 && document.all ==null))
objStr = 'document'+objStr.substring(objStr.substring(0,objStr.lastIndexOf('.')).
lastIndexOf('.'),objStr.length); //fix layer ref if not supp
field = eval(objStr);
field.name = (field.name)?field.name:objStr;
theCheck = MM_validateForm.arguments[i+2];
if (field.value) { //IF NOT EMPTY FIELD
if (theCheck.indexOf('isEmail') != -1) { //CHECK EMAIL
atPos = field.value.indexOf('@');
if (atPos < 1 || atPos == (field.value.length - 1))
errors += ' - '+field.name+' must contain an e-mail address.\n';
} else if (theCheck != 'R') { //START NUM CHECKS
theNum = parseFloat(field.value);
if (field.value != ''+theNum) errors += '- '+field.name+' must contain a number.\n';
if (theCheck.indexOf('inRange') != -1) { //CHECK RANGE
colonPos = theCheck.indexOf(':');
min = theCheck.substring(8,colonPos);
max = theCheck.substring(colonPos+1,theCheck.length);
if (theNum < min || max < theNum) //bad range
errors += ' - '+field.name+' must contain a number between '+min+' and
'+max+'.\n';
}}}
else if (theCheck.charAt(0) == 'R') errors += ' - '+field.name+' is required.\n';
}
if (errors) alert('The following error(s) occurred:\n'+
errors);
document.MM_returnValue = (errors == '')
}
//-- >
</script>
</head>
<body bgcolor="#ffffff" link="#022941" vlink="#FFFFFF" alink="#FFFFFF">
<table width="790" border="0" cellspacing="0" cellpadding="0" height="100%"
align="center" vspace="0" hspace="0">
<tr align="center">
<th height="38" valign="top"><font face="Verdana, Arial, Helvetica, sans -serif"

Pedro Estima Page 1 of 7 26-11-2001


file://D:\WINNT\TEMP\triGCCKK.htm

size="5" color="#022941">Servi&ccedil;o
de mensagens escritas atrav&eacute;s de e -mail</font></th>
</tr>
<tr align="center">
<td height="306" valign="top">
<form method="post" action="confirma.asp" name="SMS"
onSubmit="MM_validateForm('document.SMS.DeNome',
'document.SMS.DeNome','R','document.SMS.NumeroTelemovel',
'document.SMS.NumeroTelemovel','RinRange910000000:969999999',
'document.SMS.Mensagem','document.SMS.Mensagem','R');return
document.MM_returnValue">
<table border="0" cellspacing="2" cellpadding="2">
<tr bgcolor="#022941">
<td width="500"><b><font face="Verdana, Arial, Helvetica, sans -serif" size="4"
color="#FFFFFF">:.
SMS - Servi&ccedil;o Mensagens Escritas</font></b></td>
</tr>
<tr valign="top">
<td>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"
color="#022941">De:</font><br>
&nbsp;&nbsp;
<input type="text" name="DeNome" size="40" maxlength="20">
<br>
<font face="Verdana, Arial, Helvetica, sans -serif" size="2" color="#022941">Para
(n&ordm; de telem&oacute;vel):</font><br>
&nbsp;&nbsp;
<input type="text" name="NumeroTelemovel" size="9" maxlength="9">
<br>
<font face="Verdana, Arial, Helvetica, sans -serif" size="2"
color="#022941">Mensagem:</font><br>
&nbsp;&nbsp;
<textarea name="Mensagem" cols="40" rows="4"></textarea>
</p>
</td>
</tr>
<tr bgcolor="#022941">
<td>
<input type="submit" name="Submit" value=" Enviar ">
<input type="reset" name="Submit2" value=" Limpar ">
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr align="left">
<td height="33"><font face="Verdana, Arial, Helvetica, sans -serif" size="2"
color="#022941">Por:
<a href="mailto:josebarros@netytal.pt">Jos&eacute; Barros</a></font></td>
</tr>
</table>
<br>
</body>
</html>

Nota: a utilização de JavaScript, serve apenas para verificar se


os campos estão preenchidos antes de fazer o post (este
utilitário está incluído no Dreamweaver 2.0, ou superior), o que
permite poupar algum tempo.

Agora é necessário recolher esta informação numa outra página


e depois "tratá-la".

ficheiro : Confirma.asp

<html>
<head>
<%

' Dimensionemos as constantes.


dim denome
dim Numero
dim mensagem

Pedro Estima Page 2 of 7 26-11-2001


file://D:\WINNT\TEMP\triGCCKK.htm

dim errol
dim contagem
dim NumeroErrado
dim assunto
dim mailpara

' Através deste passo recolhemos os dados do formulário

' O nome de quem envia:


denome = Request.form("DeNome")

' O número do telemóvel para quem é enviada a mensagem:


Numero = Request.form("NumeroTelemovel")

' isto é para que o número passe de p ágina para página...


session("Numero")=Numero

' Mensagem a enviar


Mensagem = Request.form("Mensagem")

' Vamos verificar se foi ultrapassado o limite de carateres.


' Eu usei 500 pois sou cliente OPTIMUS e sei que o meu
'operador aceita at é 640 caracteres.
' Para que o serviço funcione pode-se diminuir de valor...
contagem=len(mensagem)

' Os valores do goby ser ão referenciados de seguida.


If contagem>=500 Then
goby="0"
else
goby="1"
End If

' O assunto (Subject)


assunto="Mensagem enviada por " & denome & "."

' Atribui -se j á um valor para a constante NBumeroErrado, caso o


'número não comece por 91, 93 ou 96.
NumeroErrado="0"

'Opera = aos primeiros 2 dígitos do n úmero.


OPera=midB(Numero,1,3)

'Para o caso o número ser OPTIMUS


if OPera=93 then
mailpara=Numero&"@sms.optimus.pt"

'caso contrário
else

'para o caso seja TMN


if OPera=96 then
mailpara=Numero&"@mail.tmn.pt"

'caso contrário
else

'Para o caso ser TELECEL


if OPera=91 then
mailpara=Numero&"@sms.telecel.pt"
'Caso não seja de nenhum, existe um erro, o n úmero introduzido é errado...
else
NumeroErrado="1"
end if

end if

end if

Pedro Estima Page 3 of 7 26-11-2001


file://D:\WINNT\TEMP\triGCCKK.htm

' Já temos valores para apresentar resultados


' Já sabemos se foi excedido o limite de caracteres e se o número
' que foi introduzido, está correcto.
' Se estas duas condições estiverem correctas, óptimo, podemos
' prosseguir, caso contrário, teremos de as corrigir.
%>
</head>
<body bgcolor="#ffffff" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%"
align="center" vspace="0" hspace="0">
<tr valign="top" align="center">
<td>
<table width="500" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr align="center">
<td width="600" rowspan="3" height="100%" valign="top"> <font face="Verdana,
Arial, Helvetica, sans-serif" size="5"
color="#022941">Confirma&ccedil;&atilde;o</font><br>
<br>
<%
' Caso o goby seja "0", significa que foi ultrapassado o limite de caracteres...
if goby="0" then
%>
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr bgcolor="#022941">
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="4"
color="#FFFFFF"><b>:.
Erro</b></font></td>
</tr>
<tr>
<td height="57"><font color="#022941"><font face="Verdana, Arial, Helvetica,
sans-serif">O
campo da mensagem n ão pode conter mais do que 500 caracteres.
</font></font></td>
</tr>
<tr bgcolor="#022941">
<td>
<input type="submit" name="Submit3" value=" << -- Retroceder "
onClick="parent.history.back(); return false;" >
</td>
</tr>
</table>
<%
' Caso contr ário, goby >< 0, passemos à fase seguinte, número
' correcto ou número errado?
else

' Caso o n úmero esteja errado:


if NumeroErrado="1" then
%>
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr bgcolor="#022941">
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="4"
color="#FFFFFF"><b>:.
Erro</b></font></td>
</tr>
<tr>
<td><font color="#022941"><br>
<font face="Verdana, Arial, Helvetica, sans -serif">Este servi&ccedil;o
s&oacute; est&aacute; dispon&iacute;vel apenas para redes portuguesas,
<b>Optimus </b>(93 xxx xx xx), <b>Telecel</b> (91 xxx xx xx),
<b>TMN </b>(96 xxx xx xx).<br>
</font></font><font color="#022941" face="Verdana, Arial, Helvetica, sans -
serif">O
n&uacute;mero que voc&ecirc; introduziu (</font><font color="#022941"><font
face="Verdana, Arial, Helvetica, sans -serif" size="3"><%=session("Numero")%
></font></font><font color="#022941" face="Verdana, Arial, Helvetica, sans-
serif">),

n&atilde;o &eacute; de nenhum operador, deste modo, n&atilde;o


nos &eacute; poss&iacute;vel entregar a sua mensagem.</font><br>
</td>
</tr>
<tr bgcolor="#022941">
<td>
<input type="submit" name="Submit33" value=" <<-- Retroceder "
onClick="parent.history.back(); return false;" >
</td>
</tr>

Pedro Estima Page 4 of 7 26-11-2001


file://D:\WINNT\TEMP\triGCCKK.htm

</table>
<font color="#022941"> </font>
<%

' Se chegamos a este ponto, est á todo correcto, o utilizador pode


' agora confirmar o envio, o ent ão retroceder para corrigir algo.
Else

' agora criamos mais um "form" com "Hidden Fields" isto porque a componente que
está instalado
'no servidor que eu estou a usar presentemente, só aceita dados já atribuídos ou
através de
'um "form", não aceita vari áveis...
%>
<form method="post" action="SMSsend.asp" name="SMSsend">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr bgcolor="#022941">
<td><font color="#022941"><b><font face="Verdana, Arial, Helvetica, sans -serif"
size="4" color="#FFFFFF">:.
Confirme se &eacute; isto que pretende enviar</font></b></font></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" color="#022941">DE
:<br>
<font size="2">&nbsp;&nbsp; <%=denome%> </font><br>
<input type="hidden" name="denome" value=" <%=denome%>">
</font></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" color="#022941">Para
: <br>
<font size="2">&nbsp;&nbsp;&nbsp;
<%
' Aqui dizemos qual o Operador móvel em questão.
Response.Write session("Numero")

if MidB(session("Numero"),1,3)=93 then
Response.Write(" ( OPTIMUS )")
end if
if MidB(session("Numero"),1,3)=96 then
Response.Write(" ( TMN )")
end if
if MidB(session("Numero"),1,3)=91 then
Response.Write(" ( TELECEL )")
end if
%> </font><br>

<input type="hidden" name="NomePara" value="<%=session("Numero")%> ">


<br>
<input type="hidden" name="emailpara" value=" <%=mailpara%> ">
</font></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif" color="#022941">
<input type="hidden" name="assunto" value=" <%=assunto%>">
</font></td>
</tr>
<tr>
<td><font face="Verdana, Arial, Helvetica, sans-serif"
color="#022941">Mensagem:
<br>
<font size="2">&nbsp;&nbsp;&nbsp; <%=Mensagem%></font><br>
<input type="hidden" name="Mensagem" value="<%=Mensagem2%>">
</font></td>
</tr>
<tr bgcolor="#022941">
<td>
<input type="submit" name="Submit" value=" Sim, enviar. ">
<input type="submit" name="Submit32" value=" N&atilde;o, retroceder. "
onClick="parent.history.back(); return false;" >
</td>
</tr>
</table>
</form>
<p> <%

Pedro Estima Page 5 of 7 26-11-2001


file://D:\WINNT\TEMP\triGCCKK.htm

' Fechamos os IF's...

end if
end if
%>
</td>
</tr>
<tr></tr>
<tr> </tr>
</table>
</td>
</tr>
</table>
<br>
</body>
</html>

Por último vamos enviar a mensagem....


A componente de e -mail existente, é a que eu uso, deverá
alterar para a que usa...
O processo é semelhante.

ficheiro : SMSsend.asp

<html>
<head>
<title>SMSsend.asp</title></head>
<body bgcolor="#ffffff" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%"
align="center" vspace="0" hspace="0">
<tr valign="top" align="center">
<td>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="600" height="100%" valign="top">
s
</td>
</tr>
<tr>
<td width="600" height="100%" valign="top">
<p><font color="#022941"><br>
<%

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")


Mailer.FromName = "Nome"
Mailer.FromAddress= "email@host.pt"
Mailer.RemoteHost = "O seu host: ex.: mail.host.pt "
Mailer.Priority = 1
Mailer.AddRecipient Request.Form("NomePara"), Request.Form("emailpara")
Mailer.Subject = Request.Form("assunto")
Mailer.BodyText = Request.Form("mensagem")

if Mailer.SendMail then
msgenv=1
else
msgenv=0
errol=Chr(34)& Mailer.Response &Chr(34)
end if

if msgenv=1 then
%> <br>
<font face="Verdana, Arial, Helvetica, sans -serif" size="3"> A sua
mensagem foi enviada com sucesso para o n. º <%=session("Numero")%> .<br>
Aproveite tamb&eacute;m para <a href="default.htm"><font
size="3"><u>enviar</u></font></a>
a outra pessoa.<br>
</font><font color="#022941">
<%
else

%>
</font></font></p>
<form method="post" action="mailto:webmaster@netytal.pt?subject: Erro no envio

Pedro Estima Page 6 of 7 26-11-2001


file://D:\WINNT\TEMP\triGCCKK.htm

de SMS" name="SMS2">
<font color="#022941"><font face="Verdana, Arial, Helvetica, sans-serif"
size="3">Ocorreu
um erro ao enviar a mensagem.<br>
O erro foi:</font><font color="#022941"><%=errol%></font><font
face="Verdana, Arial, Helvetica, sans -serif">.<br>
Se este erro persistir reporte-o ao webmaster, usando o bot&atilde;o
que se segue.<br>
Desde j&aacute; obrigado.<br>
<input type="hidden" name="Erro" value="<%=errol%>">
<br>
<input type="submit" name="Submit" value=" Notificar webmaster ">
</font>.</font> <br>
</form>
<%
end if

' Muito importante !!! convém ter isto no final, pois assim acaba com qualquer
sessão !! e liberta o servidor...
session.abandon
%>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</body>
</html>

AUTOR
Localidade: Paços de Ferreira
Habilitações: Frequência no Curso de Física da Faculdade de Ciências na
Universidade do Porto.
Mais:
Come çou a construir websites em finados de 1998, então usando Notepad,
Photoshop, e pouco mais.
No princípio de 1999 come çou a trabalhar com ASP, criou um Jornal On -line e outros
websites, recorrendo a ASP.
De momento encontra -se a terminar um projecto mais ambicioso, um portal
Regional.
Contactos: josebarros@netytal.pt (contacto para d úvidas deste artigo)
93 411 68 13
Largo Sr.ª da Conceição, 19
Paços de Ferreira
4595-221 Meixomil
http://josebarros.webhostme.com

webmaster 2000(Portugal) - todos os direitos reservados 32 em linha

Pedro Estima Page 7 of 7 26-11-2001

Você também pode gostar