Construir un formulario de envío de correo con Macromedia Flash MX 2004 y PHP
Domingo 26 de Marzo 2005
Me dispongo a explicarle como enviar formularios de correo usando ActionScript y PHP de una manera muy basica y simplifacando los algoritmos lo maximo posible. Este artículo puede servirle como iniciación en la comunicación cliente servidor, para comunicaciones mas complejas entre flash y php recomiendo usar algún protocolo XML como WDDX o XML RPC
Para empezar:
Puede encontrar todo el código en el siguiente archivo, es imprescindible que lo descarge para seguir las explicaciones:
Dentro del archivo comprimido encontrara cuatro archivos:
formulario.fla, formulario.swf y enviar_email.php son los que necesita para que el formulario funcione y instrucciones.txt donde encontrara instrucciones de como instalar en su servidor el sistema de envio de formulario.
Un ejemplo del formulario en funcionamiento:
formulario.fla
Abra este archivo con Macromedia Flash MX 2004, encontrara en la line de tiempo principal un movieClip llamado f_email con el formulario, si hace doble click podra editar su contenido:
Dentro encontramos 4 fotogramas:
- Fotograma 1: Contiene el formulario
- Fotograma2: Ventana de espera.
- Fotograma 3: Ventana de mensaje enviado
- Fotograma 4: ventana de error.
Este movieclip Esta estructurado en capas, cada una de ellas esta etiquetada según los elementos que contiene, las mas relevantes:
- #Funciones: aquí se encuentra la función que envía los datos a PHP nombrada como enviar()
- #AS: aquí esta el código de actionScript vinculado de alguna manera a la ejecución de un determinado fotograma.
El resto de capas contienen los clips de película que forman el formulario.
Para usar el formulario en cualquier sitio, simplemente copie el clip con el formulario desde la linea de tiempo principal y péguelo donde quiera.
enviar-email.php
Este archivo contiene la programación PHP encargada de enviar el email y responder a flash con el resultado de la operación. Para entender el código debe conocer el array global $_POST, y el funcionamiento de la función email() .
Debe cambiar el contenido de la variable $destinatario, en la línea 40, por su dirección de correo.
¿Como funciona? así:
Básicamente el sistema funciona de la siguiente manera:
El usuario introduce los datos en el formulario y pulsa enviar, en este momento se ejecuta la función enviar() dentro de la película flash, esta función rellena el objeto datos_email con los datos del formulario y usa: datos_email.sendAndLoad ("enviar_email.php", datos_email, "POST"); para enviar los datos al servidor usando el método POST.
En este momento empieza a ejecutarse el script PHP que se encarga de construir el mensaje de correo a partir de los datos que flash ha enviado, enviar el email y devolver una respuesta informando a flash del resultado de la operación.
Cuando Flash recibe la respuesta se activa el evento onLoad del objeto datos_email, el cual se encarga de mover el clip de película del formulario al fotograma indicado según la respuesta de PHP.
Instalación:
Debe colocar el archivo formulario.swf y enviar_email .php en el mismo directorio.
Puede cambiar el nombre del archivo formulario.swf al que desee, no cambie el nombre de enviar_email.php si no sabe como modificar el archivo .fla para que siga funcionando.Debe cambiar el contenido de la variable $destinatario, en la línea 40 del archivo enviar_email.php, por su dirección de correo.
Software Necesario:
Para que el sistema funcione correctamente, se han de subir los archivos a un servidor apache bajo Linux con PHP 3 o superior.
Para poder modificar el archivo formulario.fla necesita Macromedia Flash MX 2004 instalado en su ordenador.
