↑ Return to Tutoriais

Print this Page

ColdFusion Tutorial – Módulo 3

Passando Variáveis através de Form e URL

No último módulo vimos como inserir, atualizar e excluir registros em um banco de dados, e em dado momento, foi mostrado uma instrução da seguinte forma:
#form.codigo#
“Mas o que significa isto?”, deve você ter se perguntado. Esta instrução significa uma variável que foi passada através de um formulário para uma aplicação cfm. Esta aplicação irá interpretar o seu conteúdo e executar a tarefa referente a ela.
Portanto, a instrução acima está ligada a uma sub-tag de um formulário:

que gerará  #form.codigo#

Um outro modo de passar variáveis/atributos para uma aplicação cfm é através de URL. Você já deve ter visto em alguns sites algo semelhante a isto:

http://dominio/cgi-bin/aplicacao.cgi?variavel=valor

Neste caso a aplicação recebe a variável, que vem identificada logo após o ponto de interrogação (?) junto com seu valor, e não mais através de um formulário como mostrado anteriormente.
Na aplicação esta variável será referenciada de forma semelhante ao de variáveis passadas através de um formulário. Basta substituir form por url:
#url.variável#
Para passar mais de uma variável para a aplicação, basta separar o conjunto variável e valor por um &.
http://dominio/cgi-bin/aplicacao.cgi?variavel1=valor1&variavel2=valor2

Para entendermos melhor a utilização destas duas instruções, vamos rever a aplicação utilizada no último módulo, e vamos montar esta mesma aplicação passando então as variáveis necessárias através de URL.

Altera.cfm
[crayon]
SELECT * FROM Pessoal

#nome# - #tel# -


[/crayon]

FormAltera.cfm
[crayon]
SELECT * FROM Pessoal
WHERE codigo = #form.codigo#




[/crayon]

Agora vejamos como fazer isto com uma URL.

Altera.cfm
[crayon]
SELECT * FROM Pessoal

#nome# - #tel# -
Alterar
[/crayon]

FormAltera.cfm
[crayon]
SELECT * FROM Pessoal
WHERE codigo = #url.codigo#




[/crayon]

Criando e Manipulando Variáveis com CFSET

Vimos como são passadas variáveis através de aplicações, agora vamos ver como criar variáveis na mesma aplicação. A tag CFSET é a responsável pela criação de variáveis e a manipulação de seus valores.
Com esta tag, você poderá usar valores estáticos, parâmetros dinâmicos ou expressões para criar uma variável. A seguir é mostrada a sua sintaxe:

Vejamos agora alguns exemplos da utilização destes tipos:

Valores Estáticos

Vamos criar uma variável chamada verifica e colocar seu valor como José da Silva:

Portanto em nossa aplicação agenda ilustrada no primeiro módulo deste tutorial poderíamos estar utilizando algo assim:
[crayon]
#nome# - #tel#

Outros


[/crayon]

Agora para criar uma variável com um valor numérico estático, basta usarmos:

Parâmetros Dinâmicos

A tag CFSET também aceita parâmetros passados por outras aplicações, como variáveis passadas através de formulários e URL.
Para criarmos uma variável que tenha como valor o conteúdo de uma variável passada por um formulário, basta usarmos:

Um outro tipo aceito pela CFSET é a combinação de parâmetro dinâmico com string:

Em nossa aplicação agenda poderíamos ter algo assim:
[crayon]
#nome# - #tel#


[/crayon]

Expressões

A tag CFSET também aceita como seu conteúdo expressões matemáticas e de concatenação de strings e valores numéricos.
Em,
Criamos uma expressão matemática;
Em,
Criamos uma concatenação de string com valor numérico.

Criando Cookies

Cookies são mecanismos utilizados para armazenar informações de cada usuário que visita seu site. O Cold Fusion pode utilizar estas informações, armazenadas nos browsers, em suas aplicações. A tag que o Cold Fusion usa para isto é o CFCOOKIE.
A tag CFCOOKIE tem os seguintes atributos:

NAME Requerido. Nome da variável cookie a ser criada.
VALUE Opcional. Indica o valor determinado para a variável
EXPIRES Opcional. Este atributo determina o tempo de expiração do cookie. Pode ser especificado uma data (como, 06/06/1999), número de dias (como, 1, 10, 100), NOW, ou NEVER. Utilizando NOW o cookie é apagado do browser do usuário.
SECURE Opcional. Indica que a variável deve ser transmitida seguramente. Se o browser não suportar SSL, o cookie não é enviado.
PATH Opcional. Especifica os subdiretórios de URLs em que o cookie é aplicado.
DOMAIN Opcional. Especifica o domínio em que o cookie é valido.

Vejamos agora como criar um cookie:

Acima criamos um cookie com o nome ID, de valor 1234 e que irá expirar em 1 dia.

Verificando a existência de uma variável

Em muitos casos, algumas aplicações necessitam que sejam passadas determinadas variáveis, e caso estas não sejam passadas é apresentado uma mensagem de erro padrão do ColdFusion. Para que isto não ocorra, podemos utilizar uma função do ColdFusion que verifica a existência de variáveis.
A função utilizada para isto é ISDEFINED(). Abaixo segue sua sintaxe:
IsDefined (“nome da variável”)
Esta função verifica se a variável especificada existe, se sim retorna TRUE e caso contrário retorna FALSE.

Definindo um valor padrão para variáveis

Definir valores padrões de variáveis em algumas aplicações pode ser muito útil, para se fazer isto, basta utilizarmos a tag CFPARAM.
A tag CFPARAM pode ser usada para variáveis criadas pela tag CFSET, formulários, URL e Cookie. Sua sintaxe é a seguinte:

Onde:

NAME É o nome da variável
DEFAULT O valor padrão da variável

Uso prático da função IsDefined e a tag CFPARAM

Já sabendo como funcionam a função IsDefined e a tag CFPARAM, vamos ver agora como utilizar ambos em uma única aplicação e entender melhor onde aplicá-las.
Vamos criar uma aplicação que terá dois links para uma mesma aplicação. Sua única diferença será que em um deles iremos colocar uma variável chamada teste com seu respectivo valor.
Nosso primeiro arquivo cfm ficará assim:

Param1.cfm
[crayon]Link-1

Link-2[/crayon]

O segundo arquivo:
Param2.cfm
[crayon]
#url.teste#

#url.teste#
[/crayon]

Teremos como resultado caso seja clicado o primeiro link, a mensagem Link 1, e se for
o segundo link a ser clicado, a mensagem será Link 2.

Mostrar as variáveis

Até agora vimos e entendemos como criar e verificar a existência de uma variável. Mas como fazer para mostrar seu conteúdo ?
No último exemplo foi dada uma pequena amostra de como fazer isto:
#url.teste#
Para mostrar os vários tipos de variáveis aceitos pelo ColdFusion, basta utilizar alguns dos conceitos já aprendidos neste tutorial, a tag CFOUTPUT e o sinal de #, mais um identificador do tipo de variável. Portanto teremos:
#tipo_da_variável.variável#
Abaixo temos um quadro que ilustra como proceder para cada tipo de variável:

Variável criada por: Sintaxe
Form #form.variável#
URL #url.variável#
Cookie #cookie.variável#
CFSET #variável#

* Note que as variáveis criadas pela tag CFSET não precisam de identificador de tipo.

Permanent link to this article: http://ensina.me/coldfusion/tutoriais/coldfusion-tutorial-modulo-3/