<%@ Language="VBScript" %> <form name="form" method="post" action="?data=ok"> Data da Ocorrência: <input type="text" name="dataoco" value="" /><br /> Data Informada: <input type="text" name="datainformada" value="<%=Date%>"> <input type=submit value="botao" > </form> <% if (request.QueryString("data") = "ok") then dataoco = Day(request.Form("dataoco")) & "/" & Month(request.Form("dataoco")) & "/" & Year(request.Form("dataoco")) datainformada = Day(request.Form("datainformada")) & "/" & Month(request.Form("datainformada")) & "/" & Year(request.Form("datainformada")) if cdate(dataoco) <= cdate(datainformada) then response.write "data menor, está OK" Else response.Write "data maior, está ERRADO" end if end if %>
Arquivo da categoria ‘asp’
Comparando DATAS em ASP – comando: “cdate”
Publicado por karuta em Setembro 3, 2009
Enviado em asp | Deixar um comentário »
Tirar Acentuação em ASP
Publicado por karuta em Novembro 8, 2008
Function TiraAcento(ByVal Palavra)
cacento = “àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ^~´`’”
sacento = “aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN”
texto = “”
If Palavra <> “” Then
For x = 1 To Len(Palavra)
letra = Mid(Palavra, x, 1)
pos_acento = InStr(cacento, letra)
If pos_acento > 0 Then
letra = Mid(sacento, pos_acento, 1)
End If
texto = texto & letra
Next
TiraAcento = texto
End If
End Function
————————————————————————————
chamando a função
CODEresponse.write(TiraAcento(“fórum Imasters.Programação é tudo”))
Enviado em asp | Deixar um comentário »
Gerando senha aleatórias
Publicado por karuta em Setembro 18, 2008
‘Nesta constante eu determino que letras e números serão utilizados para gerar a senha aleatória.
Const szDefault = “abcdefghijklmnopqrstuvxz0123456789″
‘Aqui eu chamo o comando Randozime do ASP para gerar um valor randômico para a nossa senha
Randomize
‘Passa para a variavel os caracteres da seguencia szDefault e pego o tamanho da string para a variável nLenght
sValidChars = szDefault
nLength = Len( sValidChars )
‘Agora é a hora onde o script vai fazer um loop de 1 até 6 para gerar uma senha com 6 dígitos, caso necessite de uma senha com mais dígitos troque o valor 6
For nCount = 1 To 6
‘Nesta linha o Script pega um número aleatório para buscar a posição dentro da constante trazendo o caracter correspondente a esta posição
nNumber = Int((nLength * Rnd) + 1)
‘Acrescento a variável sRet o valor dela adicionado com o caracter encontrado dentro da constante
sRet = sRet & Mid( sValidChars, nNumber, 1 )
Passo para o próximo loop
Next
Enviado em asp | Deixar um comentário »
Utilize Server.Transfer ao invés de Response.Redirect
Publicado por karuta em Setembro 18, 2008
Vocês certamente já utilizam a instrução Response.Redirect, que faz o desvio da execução para uma determinada página. Porém o Response.Redirect tem sérios problemas de performance:
Quando vocês utilizam o Response.Redirect é enviado um pacote HTTP para o browser do usuário. Esse pacote contém uma instrução de redirecionamento.
O Browser, então, solicita ao servidor o endereço recebido na instrução de redirecionamento, gerando o efeito desejado.
Toda essa comunicação entre servidor e client pode ser evitada. O ASP 3.0 (Windows 2000) possui um método no objeto Server chamado Transfer. O método Transfer transfere a execução para uma outra página, assim como o Response.Redirect.
A diferença do Transfer é que ele faz a transferência da execução dentro do servidor, sem transmitir pacotes para o browser do usuário. Isso torna a aplicação bem mais ágil.
Veja :
Server.Transfer(“home.asp”)
Enviado em asp | Deixar um comentário »
Server.HTMLEncode
Publicado por karuta em Setembro 18, 2008
Suponha que você tenha um site que permita o usuário cadastrar-se à vontade. Então, um engraçadinho resolve cadastrar o nome dele da seguinte maneira:
<font color=”red” style=”font-size: 30pt”>Adriano Nântua</font>
Pronto. De agora em diante, toda vez que o nome dele for escrito no site estará vermelho e bem grande, diferente das outras pessoas (isso se o palhaço não resolver botar tamanho 800 e esculhambar de vez o seu site).
Para evitar isso, na hora de escrever o nome, ao invés de fazer o usual:
<%=nome%>
faça o funcional:
<%=Server.HtmlEncode(nome)%>
Desta maneira, nome do espertinho, será escrito da mesma maneira que ele informou, pois a função codifica a string em HTML, escrevendo < ao invés de <.
Obviamente, a função não serve somente para se proteger de usuários humoristas. Em geral serve para que os caracteres cadastrados sejam escritos fielmente.
Imagine que você vá jogar a string O filme “A Rocha” ganhou 20 prêmios no value de um input de texto. Só vai dar O Filme, pois o browser vai ler o ” como fim do value, e o resto da string vai ficar fazendo sujeira na Tag. Um desmantelo.
Basta usar, então, o Server.HTMLEncode para consertar as coisas.
Fonte: ASP4DEVELOPERS
Enviado em asp | Deixar um comentário »
Transferir resultados de uma janela secundária para a principal
Publicado por karuta em Junho 11, 2008
Arquivo: pagina1.asp
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>
<html>
<head>
<title> Janela Principal </title>
</head>
<script>
function nome()
{
window.name=’pagina1′;
}
function AbrirJanela()
{
var DialogWidth = 400;
var DialogHeight = 325;
window.showModalDialog(‘pagina2.asp’,”",”dialogHeight:” + DialogHeight + “px; dialogWidth:” + DialogWidth + “px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: No; resizable: Yes; scroll: Yes; status: No; unadorned: Yes; “);
}
</script>
<body>
<%
response.write “Nome: ” & session(“nome”) & “<br>”
response.write “E-mail: ” & session(“email”) & “<br>”
response.write “Senha: ” & session(“senha”)
%>
<hr>
<a href=”javascript:nome(),AbrirJanela()”>Abrir Janela</a>
</body>
</html>
Arquivo: pagina2.asp
<%
if request(“cmd”) = “verifica” then
session(“nome”) = request(“nome”)
session(“email”) = request(“email”)
session(“senha”) = request(“senha”)
response.redirect “pagina1.asp”
end if
%>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1252″>
<meta name=”GENERATOR” content=”Microsoft FrontPage 4.0″>
<meta name=”ProgId” content=”FrontPage.Editor.Document”>
<title>Página 2 </title>
<script type=”text/javascript”>
function toupper(campo)
{
campo.value = campo.value.toUpperCase();
}
function Insere (digito)
{
// alert(digito.value);
document.form.senha.value=document.form.senha.value+digito.value;
}
function CheckForm ()
{
if (document.form.nome.value==”")
{
alert(“Informe o nome!”);
document.form.nome.focus();
return false;
}
else if (document.form.email.value==”")
{
alert(“Informe o email!”);
document.form.email.focus();
return false;
}
window.close();
return true
}
</script>
</head>
<body scroll=”no” bgcolor=”#C0C0C0″ topmargin=”0″ leftmargin=”0″>
<form action=”pagina2.asp?cmd=verifica” method=”post” name=”form” target=”pagina1″ OnSubmit=”return CheckForm();”>
<table border=”0″ width=”100%” height=”325″ cellspacing=”0″ cellpadding=”0″>
<tr>
<td width=”100%” height=”19″ bgcolor=”#808080″ valign=”top”> </td>
</tr>
<tr>
<td width=”100%” height=”220″ valign=”top”>
<table border=”0″ width=”100%”>
<tr>
<td width=”100%”><font size=”2″ face=”Verdana”>Nome:</font></td>
</tr>
<tr>
<td width=”100%”><font size=”2″ face=”Verdana”><input type=”text” name=”nome” size=”44″></font></td>
</tr>
<tr>
<td width=”100%”><font size=”2″ face=”Verdana”>E-mail:</font></td>
</tr>
<tr>
<td width=”100%”><font size=”2″ face=”Verdana”><input type=”text” name=”email” size=”44″></font></td>
</tr>
<tr>
<td width=”100%”><font size=”2″ face=”Verdana”>Senha:</font></td>
</tr>
<tr>
<td width=”100%”><font size=”2″ face=”Verdana”><input type=”text” name=”senha” size=”44″></font></td>
</tr>
<tr>
<td width=”100%” align=”center”>
<%for i = 0 to 9%>
<input type=”button” name=”caracter<%=i%>” value=”<%=i%>” onclick=”Insere(this)”>
<%next%>
</td>
</tr>
<tr>
<td width=”100%” align=”center”>
<%for i = 65 to 77%>
<input type=”button” name=”caracter<%=chr(i)%>” value=”<%=chr(i)%>” onclick=”javascript:Insere(this)”>
<%next%>
</td>
</tr>
<tr>
<td width=”100%” align=”center”>
<%for i = 78 to 90%>
<input type=”button” name=”caracter<%=chr(i)%>” value=”<%=chr(i)%>” onclick=”javascript:Insere(this)”>
<%next%>
</td>
</tr>
<tr>
<td width=”100%”>
<p align=”center”><font size=”2″ face=”Verdana”><input type=”submit” value=”Enviar”>
<input type=”reset” value=”Limpar”></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width=”100%” height=”1″ bgcolor=”#FFFFFF” valign=”top”></td>
</tr>
<tr>
<td width=”100%” height=”68″ bgcolor=”#808080″ valign=”top”> </td>
</tr>
</table>
</form>
</body>
</html>
Enviado em asp | Deixar um comentário »
Criando RSS Feed com banco de dados no Dreamweaver usando ASP
Publicado por karuta em Junho 5, 2008
| O RSS (Really Simple Syndication) é um ótimo recurso para a divulgação imediata das últimas atualizações de um determinado site (feed) através dos chamados “leitores de RSS”. Os arquivos RSS Feed são escritos em XML em possuem um formato padrão mundial. Obtenha maiores informações sobre RSS Feeds no endereço http://www.rssficado.com.br. Para criar um RSS Feed contendo as últimas manchetes publicadas em um site com o Macromedia Dreamweaver MX 2004 (em ASP) basta seguir os passos a seguir (esse procedimento também é válido para as versões Ultradev e MX do Dreamweaver).Supondo que o site já esteja devidamente definido no Dreamweaver, o próximo passo é montar um banco de dados que armazerá as notícias. Esse exemplo utiliza o Microsoft Access 2000 para esse armazemento. A estrutura do banco de dados a ser usada como exemplo é:
Tabela ‘news’
O arquivo DB será salvo no diretório ‘root/data’.
Agora cria-se o arquivo ‘generate.asp’ que deve ser salvo na pasta root do site. Feito isso, define-se agora uma conexão do site com o banco de dados usando a aba ‘Database’ do painel ‘Application’. String para uma conexão do tipo ‘Custom Connection String’ usando OLEDB (melhor performance!): Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\home\site\data\data.mdb Cria-se agora no arquivo ‘generate.asp’ um recordset que irá apontar quais notícias deverão ser mostradas no arquivo RSS (as mais recentes!). A configuração do recordset usará o campo ‘new_date’ (ordem decrescente) para fazer essa definição.
O diretório root do site deve possuir um subdiretório chamado ‘rss’ (‘root/rss’). Alternando o modo de edição do arquivo ‘generate.asp’ (botão ‘Show Code View’) insira o código ASP a seguir logo abaixo das linhas que definem o recordset da página:
<% dim var_path, var_file, var_count var_path = server.mappath(“rss”) var_file = var_path & “\” & “news.xml” var_count = 0 set objfso = server.createobject(“scripting.filesystemobject”) set objtstream = objfso.createtextfile(var_file, true) objtstream.writeline “<?xml version=”&chr(34)&”1.0″&chr(34)&” encoding=”&chr(34)&”ISO-8859-1″&chr(34)&”?>” objtstream.writeline “<rss version=”&chr(34)&”2.0″&chr(34)&”>” objtstream.writeline “<channel>” objtstream.writeline “<title>titulo do site</title>” objtstream.writeline “<link>http://www.site.com</link>” objtstream.writeline “<description>descricao do site</description>” objtstream.writeline “<language>pt-br</language>” while (var_count < 3) and (not rs_news.eof) objtstream.writeline “<item>” objtstream.writeline “<title>”&rs_news.fields.item(“new_title”).value&”</title>” objtstream.writeline “<link>http://www.site.com/news.asp?code=”&rs_news.fields.item(“new_code”).value&”</link>” objtstream.writeline “<description>”&rs_news.fields.item(“new_resume”).value&”</description>” objtstream.writeline “</item>” var_count = var_count + 1 rs_news.movenext() wend objtstream.writeline “</channel>” objtstream.writeline “</rss>” objtstream.close Set objtstream = nothing Set objfso = nothing %>Explicação das partes do código inserido: dim var_path, var_file, var_count var_path = server.mappath(“rss”) var_file = var_path & “\” & “news.xml” var_count = 0- Declaração das variáveis a serem usadas no processo; ‘var_path’ retorna o caminho físico do diretório ‘rss’ que armazenará o arquivo XML a ser gerado, ‘var_file’ define qual vai ser o nome desse arquivo e ‘var_count’ será usado para orientar a função while do ASP que será usada logo adiante; set objfso = server.createobject(“scripting.filesystemobject”) set objtstream = objfso.createtextfile(var_file, true)- Inicia o objeto ASP FileSystemObject que irá criar o arquivo XML; objtstream.writeline “<?xml version=”&chr(34)&”1.0″&chr(34)&” encoding=”&chr(34)&”ISO-8859-1″&chr(34)&”?>” objtstream.writeline “<rss version=”&chr(34)&”2.0″&chr(34)&”>” objtstream.writeline “<channel>” objtstream.writeline “<title>titulo do site</title>” objtstream.writeline “<link>http://www.site.com</link>” objtstream.writeline “<description>descricao do site</description>” objtstream.writeline “<language>pt-br</language>” while (var_count < 3) and (not rs_news.eof) objtstream.writeline “<item>” objtstream.writeline “<title>”&rs_news.fields.item(“new_title”).value&”</title>” objtstream.writeline “<link>http://www.site.com/news.asp?code=”&rs_news.fields.item(“new_code”).value&”</link>” objtstream.writeline “<description>”&rs_news.fields.item(“new_resume”).value&”</description>” objtstream.writeline “</item>” var_count = var_count + 1 rs_news.movenext() wend objtstream.writeline “</channel>” objtstream.writeline “</rss>”- Instruções para e estruturação em XML (1.0) do novo arquivo no formato usado para RSS Feeds (2.0). A função while conta somente três registros do recordset (últimas notícias…) e torna o processo de restauração (atualização) do RSS automático. As informações acima do while são referentes ao site exemplo e devem ser substituídas por informações do site que utiliza esse recurso; objtstream.close Set objtstream = nothing Set objfso = nothing- Finaliza o objeto ASP FileSystemObject. OBSERVAÇÃO: Nesse exemplo leva-se em consideração que o site possui um arquivo chamado ‘news.asp’ que mostra as notícias do site utilizando a variável de url ‘code’. Sempre que o arquivo ‘generate.asp’ for executado no servidor cria-se um novo RSS Feed -XML (news.xml) automaticamente no diretório ‘rss’. Alternando o modo de edição do arquivo ‘generate.asp’ agora para ‘Show Design View’ (botão) insere-se na página um link apontando para ‘rss/news.xml’. O último passo é aplicar o recurso de RSS no site. Para tal, basta inserir o código a seguir dentro da tag head (<head>) do documento que irá oferecer esse recurso ao visitante: <link rel=”service.feed” type=”application/atom+xml” title=”RSS title” href=”rss/news.xml”>* Deve-se subtituir ‘RSS title’ pelo nome do RSS do site (Ex.: Últimas notícias do site em RSS). Esse código leva em consideração que o documento que recebeu essas linhas encontra-se no root do site (Ex.: http:www.site.com/INDEX.ASP). Veja a seguir como testar o RSS Feed usando o navegador Mozilla Firefox 1.0.4: Ao acessar páginas com esse recurso o navegador exibe automaticamente um ícone de RSS no canto inferior direito da janela, na barra de status.
Para ver ler e acessar as notícias contidas no RSS basta adicionar o mesmo aos favoritos clicando em cima do ícone.
OBSERVAÇÃO: Clicando no link criado em ‘generate.asp’ o navegador mostra o código XML gerado para o RSS Feed. Observe que o arquivo recebeu apenas as últimas três notícias pela ordem de data.
James Clebio – http://www.linhadecodigo.com.br/Artigo.aspx?id=723 |
Enviado em asp | Deixar um comentário »
Request.ServerVariables
Publicado por karuta em Junho 5, 2008
Sintaxe: Request.ServerVariables(variavel)
Variavel : especifica o nome das variáveis do ambiente do servidor a retornar
|
Enviado em asp | Deixar um comentário »
O objeto Response
Publicado por karuta em Junho 4, 2008
O Response é o primeiro objeto do ASP que utilizamos ao começar a programar. Ao utilizarmos o comando Response.Write para escrever algo, estamos na verdade fazendo uso do método Write do objeto Response.
O objeto Response, no entanto, tem outros usos. Em outras palavras, este objeto possui outros métodos, além de algumas propriedades e uma coleção. Para quem não lembra, um método é como uma função, enquanto que uma propriedade assemelha-se a uma variável. A coleção é uma espécie de array.
Não vamos estudar todos os métodos e propriedades, apenas os principais. Quem desejar conhecer o objeto mais a fundo, comece clicando aqui (em inglês).
A função geral do objeto Response é acessar informações que são enviadas do servidor para o browser do cliente.
Response.Write
O Write é o já famoso método que escreve texto (podendo incluir código HTML e/ou Javascript) na página gerada. Equivale ao echo do PHP ou ao document.write do Javascript.
Ex.:
- Response.Write(“Linha de cima…<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“Linha de baixo!” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Dim numero
- numero = 15
- Response.Write(numero)
Response.Redirect
O Redirect é um método que permite encaminhar o usuário para uma URL. Equivale ao header(”Location: “) do PHP e ao location.href do Javascript (embora esta última seja uma propriedade, não um método).
Ex.:
- Dim opcao
- opcao =3
- ‘ A depender do valor da variável ”opcao” o usuário vai para uma página diferente
- Select Case opcao
- Case 1
- Response.Redirect(“http://www.google.com.br” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Case 2
- Response.Redirect(“http://www.microcamp.com.br” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Case 3
- Response.Redirect(“http://www.iranrodrigues.com” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- End Select
Response.Buffer
O Buffer é uma propriedade lógica – seu valor pode ser True ou False. Sua função é determinar se a saída produzida pelo processamento do script no servidor será enviada aos poucos (quando o valor é False) ou será enviada somente ao término de todo o processamento (quando o valor é True).
O valor padrão desta propriedade é False. Ou seja, se não a alterarmos, o comportamento padrão do servidor será enviar o fluxo HTML à medida em que o código é processado.
Response.Cookies
O “Cookies” é uma coleção que permite a criação (e alteração) de cookies na máquina do cliente. Os cookies servem para armazenar informações sobre a visita do usuário a uma página, como por exemplo o nome de usuário utilizado para efetuar login no site.
Para criarmos um cookie chamado “usuario” com o valor “maria”, utilizamos:
- Response.Cookies(“usuario” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif“> = ”maria”
Além de simplesmente definir um valor para o cookie, podemos alterar algumas propriedades extras:
- Response.Cookies(“usuario” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif“> = ”maria”
- ‘ Definindo uma data de expiração (daqui a 30 dias). Após essa data, o cookie não é mais utilizado.
- Response.Cookies(“usuario”).Expires = Now + 30
- ‘ Definindo o domínio que pode acessar o cookie:
- Response.Cookies(“usuario”).Domain = “microcamp.com.br”
- ‘ Definindo o caminho das páginas que podem acessar o cookie:
- Response.Cookies(“usuario”).Path = “/www/home/pagina”
- ‘ Definindo se o cookie é seguro:
- Response.Cookies(“usuario”).Secure = True
Para acessar as informações gravadas em um cookie, teremos de utilizar um outro objeto – o Request.
Enviado em asp | Deixar um comentário »
O objeto Server
Publicado por karuta em Junho 4, 2008
Este objeto serve basicamente para acessar funções gerais no servidor web. O Server possui uma propriedade e sete métodos, a saber:
- ScriptTimeout (propriedade)
- CreateObject* (método)
- Execute (método)
- GetLastError** (método)
- MapPath* (método)
- HTMLEncode (método)
- Transfer (método)
- URLEncode (método)
* Seu uso será exemplificado em aulas posteriores;
** Não será visto em aula.
ScriptTimeout
Propriedade que define o tempo máximo de espera para o processamento de um script no servidor. O valor padrão é 90 (segundos), o que quer dizer que uma página que contenha um código que leve a um looping infinito, por exemplo, será executada por no máximo 90 segundos, para então resultar em erro.
Setando um novo valor para ScriptTimeout:
- Server.ScriptTimeout = 45
- ‘ Exibição do valor
- Response.Write(Server.ScriptTimeout)
CreateObject
Instancia um objeto. Em outras palavras, cria um objeto do tipo especificado. Veremos mais detalhes ao trabalharmos com bancos de dados.
Execute
Executa um script contido em um arquivo ASP externo. Equivale ao include do PHP.
Exemplo:
arquivo1.asp
- Response.Write(“Comando 1 do arquivo1.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Server.Execute(“arquivo2.asp” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“Comando 2 do arquivo1.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
arquivo2.asp
- Response.Write(“Comando 1 do arquivo2.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“Comando 2 do arquivo2.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“Comando 3 do arquivo2.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
Resultado da execução do arquivo1.asp:
Comando 1 do arquivo1.asp
Comando 1 do arquivo2.asp
Comando 2 do arquivo2.asp
Comando 3 do arquivo2.asp
Comando 2 do arquivo1.asp
Percebam que após a execução dos comandos no arquivo2.asp, os comandos restantes do arquivo1.asp são executados.
GetLastError
Este método é usado na personalização de páginas que exibem mensagens de erro no servidor. Um exemplo no uso deste método pode ser encontrado aqui (em português).
MapPath
Obtém o caminho absoluto para um arquivo ou pasta no servidor a partir de seu caminho relativo. Utilizaremos este método quando trabalharmos com bancos de dados.
HTMLEncode
Este é um método bem util. Sua função é converter caracteres especiais contidos em uma string em seus respectivos “códigos” oriundos do HTML (HTMLEncode significa codificar em HTML).
Experimentem exibir o texto “<br>” numa página web. Se vocês digitarem no body, por exemplo, ao invés do texto “<br>” o que aparece é uma quebra de linha. Isso acontece porque o browser processa o texto “<br>” como um comando da linguagem HTML. Para simplesmente exibirmos como texto, precisamos substituir os “<” e “>” pelos seus respectivos códigos em HTML: “<” e “>”, respectivamente. Então teríamos que escrever: <br>
Como ninguém costuma decorar esses códigos, e mesmo que decore, não quer perder tempo digitando-os, vamos utilizar o método HTMLEncode. Analisem o código fonte gerado pela execução do código abaixo e tirem suas conclusões:
- ‘Sem HTMLEncode
- Response.Write(“O elemento do HTML que quebra linhas é o <br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- ‘Com HTMLEncode
- Response.Write(Server.HTMLEncode(“O elemento do HTML que quebra linhas é o <br>”))
Transfer
Faz quase o mesmo que o método Execute. A diferença é que o Transfer não inclui a página externa, mas sim redireciona a execução para ela. Ou seja, ao transferir a execução de uma página chamada arquivo1.asp para uma outra chamada arquivo2.asp, ao fim da execução desta última, o servidor não retorna para a primeira.
Observação: o objetivo deste método não é simplesmente redirecionar (como o Response.Redirect). O redirecionamento ocorre de forma transparente para o usuário – ele não sabe que está sendo redirecionado, pois o browser não irá recarregar – e, principalmente, este redirecionamento conserva o estado atual do servidor. Assim, as variáveis definidas continuam existindo ao chegar na página de destino.
Exemplo (baseado no exemplo do Execute – vejam as diferenças no resultado):
arquivo1.asp
- Response.Write(“Comando 1 do arquivo1.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Server.Transfer(“arquivo2.asp” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“Comando 2 do arquivo1.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
arquivo2.asp
- Response.Write(“Comando 1 do arquivo2.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“Comando 2 do arquivo2.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“Comando 3 do arquivo2.asp<br>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
Resultado da execução do arquivo1.asp:
Comando 1 do arquivo1.asp
Comando 1 do arquivo2.asp
Comando 2 do arquivo2.asp
Comando 3 do arquivo2.asp
Qual a diferença? Ao terminar de executar os comandos do arquivo2.asp, ele não volta para o arquivo1.asp. A execução termina.
URLEncode
Mais uma função de codificação, como a HTMLEncode. A diferença é que o URLEncode codifica um texto para que ele possa ser inserido numa URL. Para ver um exemplo, acesse o Google, digite uma frase como: receita de suflê de abóbora (eu chutei essa receita, mas pelo jeito, ela existe de verdade). Ao pesquisar, não cliquem em nenhum resultado. Ao invés disso, observem a URL. Como o formulário de busca do Google é enviado via GET, as informações ficam expostas na URL. Fiz a pesquisa e a URL atual é: http://www.google.com.br/search?q=receita+de+sufl%C3%AA+de+ab%C3%B3bora&ie=utf-8&oe=utf-8&rls=org.mozilla:pt-BR:official&client=firefox-a
O texto que digitei fica depois do “?q=” e vai até antes do “&ie=”, ou seja:
receita+de+sufl%C3%AA+de+ab%C3%B3bora
Portanto, a frase “receita de suflê de abóbora”, codificada na URL vira “receita+de+sufl%C3%AA+de+ab%C3%B3bora”. É fácil perceber que o que muda são os espaços (trocados por “+”) e as letras acentuadas (na verdade, os caracteres especiais em geral), que são trocadas por dois caracteres entre porcentagens (exemplo: %C3%).
Qual a utilidade? Inserir informações diretamente na URL. Por exemplo, acessando este endereço…
http://www.google.com.br/search?q=dicion%C3%A1rio+bil%C3%ADng%C3%BCe+portugu%C3%AAs+ingl%C3%AAs
…vocês já caem automaticamente na página de resultados do Google para “dicionário bilíngüe português inglês”. Para gerar um link destes automaticamente é preciso usar este método.
Exemplo:
- Response.Write(“Pesquise por ’pôneis siamêses’ clicando <a href=’” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
- Response.Write(“http://www.google.com.br/search?q=” & URLEncode(“pôneis siamêses”))
- Response.Write(“‘>aqui</a>” <IMG class=wp-smiley alt=;) src=”http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif”>
Um outro exemplo de utilização é criar um formulário de busca que encaminhe para a página de resultados do Google para o termo pesquisado.
Enviado em asp | Deixar um comentário »







