• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Programação em ASP

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Introdução à programação em ASP



O que é o ASP, a quem se destina este manual e o que temos que saber antes de mergulharmos nesta aprendizagem.

Por Rubén Alvarez





Tal como explicamos, ASP (Active Server Pages) é a tecnologia para a criação de páginas dinâmicas do lado do servidor, desenvolvida por Microsoft.

Os tipos de servidores que empregam esta linguagem são aqueles que funcionam com sistema operativo da família de Windows NT. Felizmente, também podemos visualizar páginas ASP sobre Windows 95/98, mas isto será visto mais adiante.

Para escrever páginas ASP utilizamos uma linguagem de scripts, que se colocam na mesma página web junto com o código HTML. Normalmente esta linguagem de scripts é Visual Basic Script, que deriva do conhecido Visual Basic, embora também podem escrever os scripts ASP em outra linguagem: JScript, que deriva por sua vez do conhecido Javascript.

Existe uma versão de Visual Basic Script no lado cliente e outra no lado do servidor. Nos dois casos, como seu nome indica, a linguagem de base é Visual Basic pelo qual sua aprendizagem pode ser perfeitamente coordenada, já que as sentenças e as sintaxes são praticamente as mesmas. Em ASP, ao estar programando páginas do lado do servidor, utilizaremos Visual Basic Script do lado do servidor e neste manual nos centraremos neste ponto.

Este manual está destinado àqueles que querem começar do zero a aprendizagem desta linguagem e que buscam nela a aplicação direta a seu projeto de site ou a melhora de seu site HTML. Os capítulos são extremamente simples, buscando ser acessíveis à maioria. Eles serão complementados posteriormente com outros artigos de maior nível, destinados a webmasters mais experientes.

Antes de começar a ler este manual é altamente aconselhável, senão imprescindível, ter lido previamente o manual sobre páginas dinâmicas no qual se explica por alto o que é o ASP, alguns conceitos úteis sobre o modo de trabalhar com páginas dinâmicas ao mesmo tempo que nos introduz alguns elementos básicos da programação como podem ser as variáveis e as funções.

Nossa intenção é de ir publicando paulatinamente diferentes capítulos de modo que pedimos um poco de paciência àqueles que estão esperando a continuação. Tudo irá chegando.

Esperamos que este manual seja de seu agrado e que corresponda a nossas expectativas: O poder aproximar esta linguagem a todos aqueles amantes do desenvolvimento de webs que querem dar o passo em direção as webs "profissionais".

Se lhe interessa trabalhar com um editor específico de ASP lhe recomendamos o MS Visual Interdev. Outra possibilidade é o Drumbeat de Macromedia embora para começar nenhum dos dois é absolutamente indispensável. Também podemos escolher Homesite, um editor que não é específico para as ASP, mas que se comporta bastante bem e oferece ajudas interessantes.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Passos prévios I : Instalação do PWS



Passos prévios à programação em ASP. Instalação do Personal Web Server: nosso servidor pessoal de web...

Por Rubén Alvarez





Em capítulos anteriores explicamos que, dada a natureza das linguagens de lado servidor, é impossível trabalhar offline como fazíamos no caso das páginas HTML que armazenávamos em nosso disco rígido. Também dissemos que isto não era completamente certo já que podíamos resolver este eventual problema instalando em nosso PC um servidor próprio. Este servidor distribuído por Microsoft tem duas versões diferentes que são utilizadas dependendo da máquina que estivermos utilizando. Para os usuários de W95 o W98, a versão disponível chama-se Personal Web Server (PWS).

Se trabalharmos sob o sistema Windows NT, ou às versões Profissional e Server de Windows 2000 e XP, o servidor a instalar é o Internet Information Server (IIS).

Os usuários de W95 têm várias possibilidades para fazer com o PWS: Baixá-lo do site Microsoft , a partir de uma antiga versão de Frontpage 98, instalando-o pela opção pack de W-NT 4.0 o pelo CD de instalação de W98 (diretório add-ons/pws).

Os usuários de Windows ME não têm suporte para PWS, embora podem provar uma série de passos para conseguir utilizá-lo no sistema. Este documento de Microsoft explica melhor este assunto.

Por outro lado, os usuários de Windows 2000 devem utilizar IIS 5.0, que se encontra na instalação. É recomendável que você também leia as notas dos visitantes no pé da página, porque encontrará muitos mais dados sobre problemas em distintas versões e compatibilidades com outros sistemas que vão aparecendo.

PWS poderia ser considerado como uma versão "light" do IIS4. Na verdade em PWS não é suficientemente versátil para exercer de servidor de um site de um tamanho mediano embora sim que poderia em um dado momento se encarregar de um site de tamanho reduzido e não muito concorrido. De qualquer forma, a utilidade do PWS radica, sobretudo em que nos permite realizar as provas do site que vamos desenvolver em "local" sem a necessidade de pendurar nossos arquivos no servidor que hospeda nosso site cada vez que quisermos fazer uma prova sobre uma pequena modificação introduzida. Isto é totalmente prático, sobretudo, para principiantes que precisam fazer provas com uma relativa freqüência permitindo poupar muito tempo.

Dado que a maioria dos possíveis leitores deste manual trabalha com W95 e 98, neste capítulo nos limitaremos à descrição do PWS deixando o IIS4 para futuros capítulos. Entretanto, as explicações que damos podem ser igualmente úteis para quem tenha que utilizar este último, o qual apresenta um funcionamento básico análogo. O uso do PWS é extremamente fácil. Uma vez instalado, podemos observar a introdução de um novo ícone na barra de tarefas assim como no menu de início correspondente à aplicação. A partir de qualquer deles podemos ter acesso à página principal ou derivada.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
O seguinte passo é criar um diretório virtual dentro do qual hospedaremos nossa página. Chamamos de diretório virtual devido a que nossa página pode estar hospedada em qualquer parte de nosso disco rígido, onde parecer melhor para nós e com um nome de diretório que também não tem porque ser parecido ao que incluiremos na URL quando quisermos executar a página. De fato, a URL que devemos introduzir no navegador para visualizar nossa página ASP é do tipo: http://localhost/nome_do_diretorio virtual/arquivo.asp

Como se pode observar, neste tipo de endereço não se especifica o caminho no disco rígido onde se encontram nossos arquivos.

pwsinicio.gif


Voltando à criação de nosso diretório virtual, para fazê-lo devemos clicar sobre o ícone "Avançado" o qual nos dá acesso às opções avançadas do PWS. Uma vez aí, o seguinte passo é "Agregar" um diretório virtual. Uma janela na qual teremos que introduzir o nome de tal diretório virtual e especificar em que pasta do disco duro temos guardados os arquivos.



Como pode ser visto, a coisa é fácil. Agora não falta nada mais que introduzir no navegador o tipo de URL mencionada anteriormente para executar os scripts criados.

Uma opção interessante no menu avançado é a seleção do tipo de arquivo que será executado por padrão. Aqui poderíamos colocar arquivos com nome index.html ou index.asp ou também com o nome default ou home...

pwsagregar.gif




 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Passos prévios II: Conexão ao BD



Passos prévios à programação em ASP. O que é um banco de dados e como conectar-se a partir dos ODBC.

Por Rubén Alvarez




O seguinte passo, uma vez instalado o servidor que nos permite trabalhar em local, é criar os vínculos com as bases de dados que exploraremos em nossos scripts. Em efeito, a utilização de páginas dinâmicas está freqüentemente associado com o emprego da bases de dados.

Uma base de dados é simplesmente um conjunto de tabelas nas quais armazenamos distintos registros (artigos de uma loja virtual, provedores ou clientes de uma empresa, filmes em cartaz no cinema...). Estes registros são catalogados em função de distintos parâmetros que os caracterizam e que representam uma utilidade na hora de classifica-los. Assim, por exemplo, os artigos de uma loja virtual poderiam se catalogar a partir de distintos campos como pode ser um número de referência, nome do artigo, descrição, preço, provedor...

As bases de dados são construídas servindo de tais aplicações como o Microsoft Access ou o MySQL, as quais são bastante simples de utilizar com uns conceitos mínimos.

Nosso objeto aqui não é explicar a forma de explorá-las e sim, como estabelecer uma conexão entre a base de dados, armazenada em qualquer lugar do disco rígido e nossa página web hospedada também em qualquer parte e reconhecida por nosso servidor pessoal a partir do diretório virtual.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Para criar este vínculo, nos servimos dos conectores ODBC (Open DataBase Connectivity) os quais estabelecem o link com a base de dados.



panelconf.gif
dsn.gif


O primeiro passo para criar esta conexão é ir ao painel de configuração e abrir o ícone ODBC 32bits. Dentro dele, deveremos criar um DSN (Data Source Name) do tipo sistema ou usuário. Para isso, colocamos na aba correspondente (DSN sistema ou DSN usuário) e selecionamos "Acrescentar". A seguir nos pedirá para selecionar os controladores da aplicação que utilizamos para criar a base de dados, o nome que quisermos lhe atribuir (aquele que empregamos em nossos scripts) e o caminho para encontra-la em nosso disco rígido.

dsnagregar.gif


Esta DSN permite na verdade definir a base de dados que será interrogada sem a necessidade de passar pela aplicação que tivermos utilizado para construí-la, ou seja, com simples chamadas e ordens desde nossos arquivos ASP poderemos obter os dados que buscamos sem a necessidade de executar o Access ou o MySQL os quais, evidentemente, não terão porque se encontrarem no servidor onde trabalhamos.



 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Início à programação em ASP



Especificação da linguagem utilizada: VBScript ou JScript servidor. Primeiro script em ASP utilizando uma função.

Por Rubén Alvarez





Ao longo dos capítulos precedentes ficou claro que o ASP é uma linguagem orientada às aplicações em rede criada por Microsoft que funciona do lado servidor. É na verdade, o servidor quem se ocupa de executa-lo, interpreta-lo e envia-lo ao cliente (navegador) em forma de código HTML.

ASP é principalmente utilizado servindo-se da linguagem Visual Basic Script que não é mais do que uma versão light do Visual Basic. Entretanto, é possível programar páginas ASP em Java Script. O único que há de fazer é especificar na própria página que tipo de linguagem estamos utilizando.

Dado que a linguagem ASP está muito freqüentemente embebida dentro do código HTML, é importante poder marcar ao servidor que partes estão escritas em uma linguagem e quais em outra. É por isso que todas as partes do arquivo que estão escritas em ASP estarão sempre delimitadas pelos símbolos: <% e %>.

Deste modo, quando realizarmos nossos scripts, o primeiro que devemos definir é o tipo de linguagem utilizado, o qual se faz da seguinte forma:

<% @ LANGUAGE="VBSCRIPT" %> No caso de programarmos em Visual Basic Script

<% @ LANGUAGE="JSCRIPT" %> Se nos servimos do Java Script em servidor para programar em ASP
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Os scripts que serão apresentados neste manual estarão baseados no VBS, o qual apresenta uma série de prestações que os tornam sem dúvida mais acessível e apto para ASP. Não é a toa que é o próprio Microsoft quem criou ambos.

Com os elementos que apresentamos até agora, já estamos em situação de poder escrever nosso primeiro programa em ASP. Vamos criar um programa que calcule o 20% de impostos que teria que acrescentar a uma série de artigos. Para concretizar o conceito de função, explicado no manual de páginas dinâmicas, vamos definir uma função "imposto" que empregaremos sucessivas vezes. O programa poderia ser algo assim:

<% @ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Função imposto</TITLE>
</HEAD>
<BODY>
<%Function imposto(preço_artigo)
preço_final=preço_artigo+preço_artigo*20/100
Response.Write preço_final
End Function%>
Um livro de $35,00 ficará em um preço de <% imposto(35) %>
<br>
Um sapato de $60,00 terá um preço final de <% imposto(60) %>
<br>
Um CD de música de $20,00 custaria <% imposto(20) %>
</BODY>
</HTML>


Como pode ser visto, o script contém duas partes fundamentais: Uma primeira na qual definimos a função que chamamos imposto que depende unicamente de uma variável (preço_artigo). Imposto permite acrescentar um 20% ao preço do artigo e imprimir o resultado na tela (Response.Write). Na segunda parte nos servimos da função para realizar os cálculos necessários e mostrá-los na tela, acompanhados de texto.

É muito interessante uma vez executado o script, ver o código fonte. Como se pode ver, o código HTML que mostra o browser não coincide com o que nós escrevemos. Algo que não deve nos surpreender, já que, como já explicamos, o servidor se encarrega de processa-lo e torna-lo compreensível ao navegador.



 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Loops e condições I



Algumas das formas mais correntes de controlar o fluxo dos programas em VBScript: Condição IF

Por Rubén Alvarez





A programação exige em muitas ocasiões a repetição de ações sucessivas ou a escolha de uma determinada seqüência e não de outra dependendo das condições específicas da execução.

Como exemplo, poderíamos fazer alusão a um script que execute uma seqüência diferente em função do dia da semana no qual nos encontramos.

Este tipo de ação pode ser realizado graças a uma paleta de instruções presentes na maioria das linguagens. Neste capítulo descreveremos sumariamente algumas delas propostas pelo VBS e que são de evidente utilidade para o desenvolvimento de páginas ASP.

Para evitar complicar o texto, nos limitaremos a introduzir as mais importantes deixando de lado outras tantas que poderão ser facilmente assimiladas a partir de exemplos práticos.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
As condições: IF

Quando quisermos que o programa, chegado a um certo ponto, tome um caminho determinado em determinados casos e outro diferente se as condições de execução diferem, nos servimos do conjunto de instruções If, Then e Else. A estrutura de base deste tipo de instruções é a seguinte:

IF condição THEN
Instrução 1
Instrução 2
...
ELSE
Instrução A
Instrução B
...
END IF

Chegado a este ponto, o programa verificará o cumprimento ou não da condição. Se a condição é certa as instruções 1 e 2 serão executadas. Do contrário (Else), as instruções A e B serão realizadas.

Uma vez finalizada a estrutura, deveremos fechar com um End If.

Esta estrutura de base pode complicar-se um pouco mais, se temos em conta que não necessariamente tudo é branco ou negro e que muitas possibilidades podem se dar. É por isso que outras condições podem se colocar dentro da condição principal. Falamos, portanto, de condições aninhadas que teriam uma estrutura do seguinte tipo:

IF condição THEN
Instrução 1
Instrução 2
...
ELSE
IF condição2 THEN
Instrução A
Instrução B
...
ELSE
Instrução X
...
END IF
END IF
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Deste modo poderíamos introduzir tantas condições quantas quisermos dentro de uma condição principal. Neste tipo de estruturas é importante fechar corretamente cada um dos IF com seus END IF correspondentes. De grande ajuda é a instrução ELSE IF que permite em uma só linha e sem necessidade de acrescentar um END IF introduzir uma condição aninhada.

O uso desta ferramenta será claro com um pouco de prática. Colocamos um exemplo simples de utilização de condições. O seguinte programa permitiria detectar a língua empregada pelo navegador e visualizar uma mensagem em tal língua.


<% @ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Detector de Língua</TITLE>
</HEAD>
<BODY>
<%
'Antes de nada introduzimos mensagens em forma de variáveis
espanhol="Hola"
ingles="Hello"
portugues="Olá"

'Agora lemos do navegador qual é a sua língua oficial
idioma=Left(Request.ServerVariables("HTTP_ACCEPT_LANGUAGE"),2)

'Formulamos as possibilidades que podem dar
If idioma="es" Then
Response.Write espanhol
ElseIf idioma="pt" Then
Response.Write portugues
Else
Response.Write ingles
End If %>
</BODY>
</HTML>


Para poder ver o funcionamento deste script é necessário mudar o idioma preferido o qual pode ser realizado a partir do menu de opções do navegador.

Como pode ser visto, as variáveis que contém texto são armazenadas entre aspas.

Para ler a língua aceitada pelo navegador o que fazemos é definir uma variável (idioma) que recorre as duas primeiras letras começando da esquerda do idioma aceitado pelo navegador ("HTTP_ACCEPT_LANGUAGE"). Este idioma aceitado pode ser requerido como uma variável do objeto ServerVariables. Por agora deixaremos isto tal como está, e já nos encarregaremos de vê-lo mais detalhadamente em outros capítulos.

A terceira de script se encarrega de ver se o navegador está em português (pt), espanhol (es), ou em qualquer outro idioma que não seja nenhum destes dois, e imprimir cada uma das mensagens que proceda em cada caso.

Outro ponto a comentar é o fato de poder comentar os programas. Como se pode observar, dentro do script introduzimos umas mensagens que nos serve para lê-las mais facilmente. Estas mensagens não exercem nenhuma influência no desenvolvimento do mesmo. Para introduzi-las é necessário escreve-las detrás de uma apóstrofe: '

Os comentários são de grande utilidade quando tratamos com programas muito extensos e complicados.Nestes casos, são de grande ajuda na hora de depurar falhos ou introduzir modificações. É altamente aconselhável acostumar-se a utilizá-los.


 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Loops e condições II


Algumas das formas mais correntes de controlar o fluxo dos programas em VBScript: Loop FOR.

Por Rubén Alvarez





Os loops FOR

Em muitas ocasiões é necessário executar um conjunto de instruções um número definido de vezes. Isto pode ser realizado a partir da instrução FOR/NEXT.

A estrutura clássica:

FOR contador=número inicial to número final STEP incremento
Instrução 1
Instrução 2
...
NEXT


A partir deste tipo de estruturas executamos as instruções contidas entre o FOR e o NEXT um certo número de vezes definido pelo número inicial, final e o incremento. O incremento é de 1 por padrão.

Colocamos um exemplo:
<% @ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Loop for/next</TITLE>
</HEAD>
<BODY>

<%For i=1 to 5%>
<font size=<%Response.Write i%>>Volta número <%Response.Write i%></font><br>
<%Next

For i=5 to 1 Step -1%>
<font size=<%Response.Write i%>>Contamos atrás: <%Response.Write i%></font><br>
<%Next%>

</BODY>
</HTML>



Este script composto de dois loops conta primeiro de 1 a 5. A variável i toma portanto todos os valores inteiros compreendidos entre estes dois números e pode ser utilizada dentro do loop como o fazemos neste caso para aumentar o tamanho da letra. O segundo loop realiza o processo inverso (o incremento é negativo) produzindo uma diminuição do tamanho da letra.



O que pode ser interessante para ver até que ponto o programar páginas dinâmicas pode fazer pouparmos texto em relação a mesma página programada em código HTML, é ver o código fonte da página a partir do navegador.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Loops e condições III




Algumas das formas mais correntes de controlar o fluxo dos programas em VBScript: Loops DO WHILE/LOOP e operadores lógicos.

Por Rubén Alvarez





Os loops DO WHILE/LOOP

Outra forma de realizar este tipo de seqüências loop é a partir da instrução DO WHILE. Neste caso o que especificamos para fixar a extensão do loop não é o número de voltas e sim, o que se cumpre ou não uma condição. A estrutura deste tipo de loops é análoga a dos loops FOR/NEXT:

DO WHILE condição
Instrução 1
Instrução 2
...
LOOP

O loop se dará enquanto a condição proposta seguir sendo válida.

Como será visto em exemplos posteriores, este tipo de loops é muito prático para a leitura de bases de dados.

Todo este tipo de controladores de fluxo, (condições e loops) podem ser necessários e otimizados a partir do uso de operadores lógicos. Assim, podemos escolher que sejam duas as condições que dêem para realizar um conjunto de instruções:

IF condição 1 AND condição 2 THEN ...

Também podemos requerer que seja uma das duas:

IF condição 1 OR condição 2 THEN...

Da mesma forma, é possível escolher que a condição de um loop DO seja a inversa à enunciada:

DO WHILE NOT condição

Concluindo, um conjunto de recursos básicos para controlar o desenvolvimento de programas. Sua utilidade será mais que patente e seu uso irá tornando-se intuitivo à medida que nos familiarizarmos com a linguagem.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Os objetos ASP



Introdução ao conceito de objeto e os elementos que o compõem.

Por Rubén Alvarez





O ASP é uma linguagem desenhada para a criação de aplicações na internet. Isto quer dizer que existe toda uma série de tarefas bastante correntes, as quais deve se dar um tratamento fácil e eficaz. Referimo-nos por exemplo ao envio de e-mails, acesso a arquivos, gestão de variáveis do cliente ou servidor como podem ser seu IP ou a língua aceitada...

A linguagem VB propriamente dita não dá uma solução fácil e direta a estas tarefas, e sim invoca aos denominados objetos que não são mais que uns módulos incorporados à linguagem que permitem o desenvolvimento de tarefas específicas. Estes objetos realizam de uma maneira simples toda uma série de ações de uma complexidade relevante. A partir de uma chamada ao objeto, este realizará a tarefa requerida. De certa forma, estes objetos nos poupam ter que fazer compridos programas para operações simples e habituais.

Alguns destes objetos estão incorporados no próprio ASP, outros devem ser incorporados como se se tratasse de componentes acessórios. De fato, não poderíamos executar corretamente um script no qual tivéssemos que chamar a um objeto que não estivesse integrado no servidor. Estes tipos de "plug-in" são geralmente comprados pelo servidor a empresas que os desenvolvem.

Como todo objeto do mundo real, os objetos do mundo informático têm suas propriedades que os definem, realizam um certo número de funções ou métodos e são capazes de responder de uma forma definível antes certos eventos.

Dado o nível desta obra, a descrição da totalidade de objetos com seus métodos e propriedades é certamente fora de lugar. Vamos, portanto, nos contentar com ir descrevendo os mais freqüentemente utilizados e exemplifica-los da maneira mais prática deixando a numeração exaustiva em forma de apêndice.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Objeto Request I



Que funções realiza este objeto e como se passam as variáveis pela URL.

Por Rubén Alvarez




Loops e condições são muito úteis para processar os dados dentro de um mesmo script. Entretanto, em um site na internet, as páginas vistas e os scripts utilizados são numerosos. Muitas vezes necessitamos que nossos distintos scripts estejam conectados uns com outros e que se sirvam de variáveis comuns. Por outro lado, o usuário interage por meio de formulários cujos campos hão de ser processados para poder dar uma resposta. Todo este tipo de fatores dinâmicos hão de ser eficazmente regulados por uma linguagem como o ASP.

Como veremos, todo este tipo de aspectos interativos podem ser providenciados a partir do objeto Request.

O objeto Request nos devolve informações do usuário que foram enviadas por meio de formulários, por URL ou a partir de cookies (veremos de que se tratam a seguir). Também nos informa sobre o estado de certas variáveis do sistema, como pode ser a língua utilizada pelo navegador, o número IP do cliente...

Transferir variáveis por URL

Para passar as variáveis de una página a outra, podemos faze-lo introduzindo tal variável no endereço URL da página destino dentro do link hipertexto. A sintaxe seria a seguinte:

<a href="destino.asp?variavel1=valor1&variavel2=valor2&..."></a>

Para buscar a variável na página destino, devemos fazer por meio do objeto Request com o método Querystring:

Request.querystring("variavel1")
Request.querystring("variavel2")

As duas páginas seriam assim:
<HTML>
<HEAD>
<TITLE>Página origem.asp</TITLE>
</HEAD>
<BODY>
<a href="destino.asp?saudacao=olá&texto=Isto é uma variável texto">Passo variáveis saudação e texto à página destino.asp</a>
</BODY>
</HTML>


<HTML>
<HEAD>
<TITLE>destino.asp</TITLE>
</HEAD>
<BODY>
Variável saudação: <%Response.Write Request.Querystring("saludo")%><br>
Variável texto: <%Response.Write Request.Querystring("texto")%><br>
</BODY>
</HTML>
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Objeto Request II



Como passar variáveis através dos formulários e obter mais informações práticas sobre o servidor ou o cliente.

Por Rubén Alvarez





Transferir variáveis por formulário

O processo é similar ao explicado para as URLs. Primeiramente, apresentamos uma primeira página com o formulário a preencher e as variáveis são recolhidas em uma segunda página que as processa:
<HTML>
<HEAD>
<TITLE>formulario.asp</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="destino2.asp">
Nome<br>
<INPUT TYPE="TEXT" NAME="nome"><br>
Sobrenome<br>
<INPUT TYPE="TEXT" NAME="sobrenome"><br>
<INPUT TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>


<HTML>
<HEAD>
<TITLE>destino2.asp</TITLE>
</HEAD>
<BODY>
Variável nome: <%=Request.Form("nome")%><br>
Variável sobrenome: <%=Request.Form("sobrenome")%>
</BODY>
</HTML>



Se quiser ver o efeito que produz clique aqui.

Outras utilidades de Request: as ServerVariables

O objeto Request nos dá acesso a outras informações relativas ao cliente e ao servidor, as quais podem ser de uma grande utilidade. Estas informações são armazenadas como variáveis as quais são agrupadas em uma coleção chamada ServerVariables.

Dentro desta coleção temos variáveis tão interessantes como:
HTTP_ACCEPT_LANGUAGE Informa a língua preferida pelo navegador
HTTP_USER_AGENT Indica qual é o navegador utilizado.
PATH_TRANSLATED Devolve o path físico do disco rígido do servidor no qual se encontra nosso script
SERVER_SOFTWARE Diz que tipo de software utiliza o servidor



Para visualizar na tela algumas dessas variáveis, devemos escrever algo como:

Response.write request.servervariables("nome da variável")

Uma forma rápida de visualizar todas estas variáveis é a partir de um script com esta seqüência:
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
<%
For Each elemento in Request.ServerVariables
Response.Write elemento&" : "&Request.ServerVariables(elemento)& "<br>"
Next
%>



Isto nos daria por um lado o nome da variável e do outro o seu valor. Este tipo de loop For Each/Next se parece a outros já vistos. Neste caso, o loop se realiza tantas vezes como elementos que tiver a coleção (ServerVariables) que não é mais que o conjunto de elementos compreendidos na extensão do objeto (Request). Este tipo de loop é aplicável a outras coleções deste e de outros objetos como, por exemplo, os Request.Form ou Request.Querystring ou as cookies. Desta forma seríamos capazes de visualizar o nome e o conteúdo de tais coleções sem a necessidade de enuncia-las uma por uma.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Objeto Response




Que funções realiza este objeto. Como inscrever textos ou valores e como re-endereçar automaticamente para outras páginas.

Por Rubén Alvarez





Tal como vimos, o objeto Request providencia tudo que é relativo a entrada de dados ao script por parte do usuário (formulários), provenientes de outra URL, do próprio servidor ou do browser.

Resta-nos explicar como o script pode "responder" a estes estímulos, ou seja, como, depois de processar devidamente os dados, podemos imprimir estes na tela, inscreve-los nas cookies ou enviar ao internauta a uma página ou outra. Definitivamente, falta definir a forma na qual o ASP regula o conteúdo que é enviado ao navegador.

Esta função é encarregada pelo objeto Response o qual foi ligeiramente mencionado em capítulos precedentes concretamente em associação ao método Write.

Na prática, sentenças do tipo:

<%Response.Write "Uma cadeia de texto"%>

o bien,

<%Response.Write variable%>

Têm como cometido imprimir no documento HTML gerado uma mensagem ou valor de variável. Este método é geralmente tão utilizado que existe uma abreviação do mesmo de forma a facilitar sua escritura:

<% = variable %> é análogo a <%response.write variable%>

É importante ressaltar o fato que imprimir no documento HTML não significa necessariamente visualizar na tela já que poderíamos nos servir destas etiquetas para criar determinadas etiquetas HTML. Temos aqui um exemplo do que pretendemos dizer:

<% path="http://www.meusite.com/graficos/imagem.gif" %>

<img src="<% =path %>">

Este fragmento de script nos geraria um código HTML que seria recebido no navegador da seguinte forma:

<img src="http://www.meusite.com/graficos/imagem.gif">

Outro elemento interessante deste objeto Response é o método Redirect. Este método nos permite enviar automaticamente o internauta a uma página que nós tivermos decidido.

Esta prática função, pode ser empregada em scripts que enviamos ao visitante de nosso site a uma página ou outra em função do navegador que utiliza ou da língua que prefere. Também é muito útil para realizar páginas "escondidas" que realizam uma determinada função sem mostrar nem texto nem imagens e nos enviam a seguir a outra página que é na realidade a que nós recebemos no navegador.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Aqui pode ser visto uma seqüência de script que nos permitiria usar este método para o caso em que tivermos páginas diferentes para distintas versões de navegadores. Nela empregaremos um objeto que deve nos parecer familiar já que o acabamos de ver (Request.ServerVariables):

<%
tipo_navegador = Request.ServerVariables("HTTP_USER_AGENT")
If Instr(1, tipo_navegador, "MSIE 3", 1) <> 0 then
Response.Redirect "MSIE3.asp"
ElseIf Instr(1, tipo_navegador, "MSIE 4", 1) <> 0 then
Response.Redirect "MSIE4.asp"
ElseIf Instr(1, tipo_navegador, "MSIE 5", 1) <> 0 then
Response.Redirect "MSIE5.asp"
ElseIf Instr(1, tipo_navegador, "Mozilla/4", 1) <> 0 then
Response.Redirect "Netscape4.asp"
Else
Response.Redirect "qualquer.asp"
%>

Obviamente, acompanhando este script, devemos ter os correspondentes arquivos MSIE3.asp, MSIE4.asp, MSIE5.asp... Cada um deles com as particularidades necessárias para a boa visualização de nossa página em tais navegadores.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Exemplo simples de ASP



Fazemos um stop para realizar um exemplo simples em ASP que trata o envio de formulários e o uso de loops.

Por Rubén Alvarez





Vamos ver um simples exemplo realizado em ASP que serve para ilustrar o trabalho desenvolvido até o momento no manual da tecnologia. Este exemplo é muito básico, embora experimenta várias das utilidades vistas até agora, como o trabalho com loops e os objetos request e response, que servem para receber dados e imprimi-los na página.

O exemplo em concreto se trata de um gerador de tabelas de multiplicar. À princípio, quando se acessa ao arquivo, mostra-se a tabela do zero e um formulário onde podemos selecionar outro número e ver sua tabela de multiplicar. Ao enviar o formulário se acessa a mesma página, embora agora apareceria a tabela de multiplicar do número selecionado no formulário.

Formulário para selecionar um número

Vejamos agora o formulário que mostra um campo de seleção com os números do 1 ao 10. Este formulário servirá para que o visitante possa selecionar a tabela que deseja ver.



<form name=tb action=tb.asp method=post>
<P align=center>Selecione uma opção
<SELECT align=center name=tab style="WIDTH: 40px">
<OPTION selected>1</OPTION>
<OPTION >2</OPTION>
<OPTION >3</OPTION>
<OPTION >4</OPTION>
<OPTION >5</OPTION>
<OPTION >6</OPTION>
<OPTION >7</OPTION>
<OPTION >8</OPTION>
<OPTION >9</OPTION>
<OPTION >10</OPTION>
</SELECT>
<br>
<INPUT type=submit value="Ver tabela" >
</P>
</form>



Temos que observar que a página que vai receber o formulário chama-se tb.asp, segundo se indica no atributo action. O único campo do formulário que se envia é chamado "tab", e salva o número que tenha sido selecionado.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Código para mostrar a tabela de multiplicar correspondente

Começamos recebendo o dado do formulário que nos indica a tabela que o usuário quer visualizar. À princípio, não se recebe nenhum dado do formulário (até que não se envie o formulário não se sabe que tabela se deseja ver e portanto, havíamos dito que se mostraria a tabela do zero). Sendo assim, se não recebo nada, inicio a zero a variável i, que salva o número da tabela de multiplicar a ser mostrada. No caso de que receba algo do formulário, se inicia a variável i ao valor recebido no campo "tab".

'se não se está recebendo dados do formulário
if request.form("tab")="" then
'inicio a tabela a mostrar a zero
i=0
else
'inicio a tabela a mostrar ao dado recebido no formulário
i=Request.Form ("tab")
end if



Agora veremos um loop que mostra a tabela de multiplicar do valor recebido por formulário. Este loop faz uma repetição desde 1 ao 10 e vão se realizando as multiplicações e mostrando os resultados.

'mostro a tabela do número que recebo do formulário
Response.Write "Tabela do " & i%><br><br><%
'realizo um loop do 1 ao 10 para mostrar a tabela correspondente
for a=1 to 10
Response.Write i &" x " & a & " = " & i*a%>
<br>
<%
next
%>



Código completo

O código completo do exemplo pode ser visto a seguir. Espero que sirva de ajuda para as pessoas que começam a dar seus primeiros passos com ASP.

<%@ Language=VBScript %>
<HTML>
<HEAD><title>Tabelas de Multiplicar....</title>
</HEAD>
<BODY bgColor=skyblue>

<div align="center">

<form name=tb action=tb.asp method=post>
<P align=center>Selecione uma opção
<SELECT align=center name=tab style="WIDTH: 40px">
<OPTION selected>1</OPTION>
<OPTION >2</OPTION>
<OPTION >3</OPTION>
<OPTION >4</OPTION>
<OPTION >5</OPTION>
<OPTION >6</OPTION>
<OPTION >7</OPTION>
<OPTION >8</OPTION>
<OPTION >9</OPTION>
<OPTION >10</OPTION>
</SELECT>
<br>
<INPUT type=submit value="Ver tabela" name=submit1 >
</P>
</form>
<%

'se não se está recebendo dados do formulário
if request.form("tab")="" then
'inicio a tabela a mostrar a zero
i=0
else
'inicio a tabela a mostrar ao dado recebido no formulário
i=Request.Form ("tab")
end if

'mostro a tabela do número que recebo do formulário
Response.Write "Tabela do " & i%><br><br><%
'realizo um loop do 1 ao 10 para mostrar a tabela correspondente
for a=1 to 10
Response.Write i &" x " & a & " = " & i*a%>
<br>
<%
next
%>
</div>

</BODY>
</HTML>




 
Topo