Hacer un formulario en
flash no es tan difícil como se piensa, el dolor de
cabeza viene a la hora de enviarlo a una dirección
de e-mail , y hacerlo de forma invisible para el usuario (
sin usar el programa de envío de correo electrónico);
para esto se usa lo que se denomina CGI ( Common Gateway
Interface -Interfaz de Compuerta Común) , estos
son archivos ejecutables se encargan entre otras cosas de
recibir la información procesarla e enviarla por correo;
las extensiones de dichos archivos pueden ser .cgi, .pl, php
y otras.
Para poder correr/ejecutar dichos archivos es necesario preguntarle
al administrador del servidor qué posibilidades hay
de usar archivos cgi, de que tipo ,en que carpeta se pueden
guardar ( usualmente llamada cgi-bin ), o si ellos tienen
archivos pre-establecidos ( para el uso del pueblo ) que cumplan
con esa función, de ser así: cómo poder
configurar tus formularios. Una vez con esta información
lo demás "va sobre ruedas"
En este tutorial trataré de explicar como hacer un
formulario en flash y enviar la información usando
un archivo pl (formmail de Matt
Wright );mundialmente conocido por fácil de configurar,
eficiente y lo más importante: por ser ¡GRATIS!
: ) ; configurar el script formmail y un simple chequeo para
verficar la inserción de datos en el formulario.
Paso 1:
Para hacer el formulario lo primero que tenemos que hacer
son los TextFields , en este tutorial
ocuparemos únicamente cuatro ( nombre, email, comentarios
y status ),para esto seleccionamos la tecla de texto
y la de TextFields ;
click en el escenario y atrastramos. Una vez hecho lo seleccionamos,
botón derecho y en propiedades le ponemos nombre [
estos nombres son los que llegarán por correo indicando
a que campo pertenecen, por lo que recomiendo usar nombres
significativos( al de nombre le pondremos nombre o name y
así los siguientes) ] ver figura 1
figura
1. Propiedades del TextField para el campo nombre.
repetir los pasos para los otros campos, en el de comentarios
seleccionar Multiline y WordWrap; el campo status
será usado para la verificación de los datos
y como no queremos que escriban en el hacemos check en Disable
editing y disable selection.
Paso 2.
Ocuparemos también dos botones uno enviar y otro borrar,
en las acciones del botón revisaremos que digiten datos
en los tres campos, es decir que si algún campo está
en blanco saldrá el error en el TextField status.
La forma más fácil de hacerlo sería revisando
uno por uno, si alguno tira error el proceso termina ( no
se envía el correo y sale reflejado en status).
Primero te pongo la lógica y luego el script.
Si campo nombre está en blanco
ponga campo status en Digite su nombre
caso contrario si campo email está en blanco
ponga campo status en Digite su email
caso contrario si campo comentarios esta en blanco
ponga campo status en Digite sus comentarios.
caso contrario ENVIE EL CORREO! y vaya a la etiqueta "ok"
ahora en idioma de flash.
On (Release)
If (nombre eq "")
Set Variable: "status" = "Por Favor digite su nombre"
Else If (email eq "")
Set Variable: "status" = "Por Favor digite su email"
Else If (comentarios eq "")
Set Variable: "status" = "Sus comentarios son importantes"
Else ...
Si estamos listos para enviar el correo ocupamos un par de cositas
más, primero tenemos que borrar el contenido de status ( para
que no llegue el correo con una línea que diga "por favor
digite su email"); y segundo: tenemos que saber dos cosas: a
qué dirección de correo será enviado el formulario,
qué queremos que diga el encabezado y donde está el
script que lo va a enviar, para asi mandarle las variables (osea la
información de los TextFields); si estuvieramos en DreamWeaver
esto se haria con campos ocultos ( HiddenFields ) y la dirección
del script sería la acción del formulario; en Flash
podemos hacer esto defiendolos como variables en las acciónes
del botón [con SetVariable(los campos)y LoadVarialbes(la dirección
del Script)], pero, ¿con qué nombre?.
Formmail nos dice que el campo destinatario se llama "recipient",
el de encabezado "subject" y la dirección es la
carpeta donde está el script ( que era usualmente cgi-bin)
continuación de script
...Else
Set Variable: "status" = ""
Set Variable: "subject" = "Solicitud de Información"
Set Variable: "recipient" = "correo@server.com"
Load Variables ("http://www.server.com/cgi-bin/formmail.pl", "",
vars=POST)
Go to and Stop ("ok")
End If
End On
Tip.
Formmail por tiene preestablecido devolver una página:
la clásica gracias "...la información fué
enviada satisfactoriamente, gracias"; página en html...,pero
nosotros estamos en flash y ocupamos que se vaya al label "ok"
[ donde está el mismo mensaje pero en flash :) ].
Para evitar está página no hacemos el link con GeUrl
sino con LoadVariables ( como en el script ), pero envez de decirle
loadvariables en un nivel, le hacemos target a nada y enviamos
las variables usando post (ver figura 2.)
Figura
2. El LoadVariables, target " " using post.
Paso 3.
para configurar el script (incluído en el zip )cambiar lo
enfatizado en figura3 de acuerdo al servidor que se esté
ulilizando, smtp_server= servidor de correo y referers= servidores
habilitados ( autorizados) para correr el script
figura3.
Nota.
Para configurar formmail.pl versión unix/linux se requiere
modificar las direcciones de perl, sendmail y @referers.
Perl y sendmail usualmente están en una carpeta standard
pero si no funciona preguntale a tu Administrador de servidor por
el Perl Path y te sabrá dar indiciaciones.
Paso4.
Para poner las acciones en el botón borrar, sólo de
demos que decir a flash que nos ponga las variables en blanco(con
contenido nulo, sin contenido, >que nos las borre<); para
eso de damos SetVariable, en la primer caja el nombre de la variable
y ( nombre, email, comentarios ) y en la siguiente caja la dejamos
en blanco.
On (Release)
Set Variable: "nombre" = ""
Set Variable: "email" = ""
Set Variable: "comentarios" = ""
Set Variable: "status" = ""
End On.
figura4.
como poner en blanco/borrar los campos
|