General

Formulario de contacto en Flash y PHP

Estas son las primeras líneas que escribo para poder aportar algo productivo, no tenía ni idea de que podía publicar , pero recordé por un instante que busque en internet información sobre formularios de contacto en flash y php, así que explicare un poco de esto, la información que escribiré son sólo pedazos de pequeñas lecturas, así que si hay algo parecido es porque tal vez es una coincidencia(en realidad tomé como referencia un par de páginas).

Explicaré de manera sencilla como realizar un formulario de contacto en flash y php , para este ejemplo utilice la versión 8 de flash y php 5.

Además de lo anterior, debemos usar la función mail(); de php , osea seria bueno tener un servidor de correo.
Aunque hay muchos ejemplos en internet sobre este tema, solo quise hacer una prueba paso por paso, y quitarme de algunas dudas que tenia respecto al código.

Lo comparto y espero que sea de utilidad, o por lo menos sirva de guía.
Empezamos por diseñar el archivo .fla , abrimos flash clic en nuevo documento , configuramos color y tamaño del escenario, en el menú insertar elegimos nuevo símbolo – clip de película y le damos un nombre, en este caso use un clip de película para darle movimiento a todo el formulario: un clip de película es una película dentro de otra que nos sirve para dar efectos y tener varias animaciones separadas al mismo tiempo , si solo quisiera el formulario sin ningún tipo de animación simplemente podría empezar por diseñarlo sin insertar ese tipo de símbolo, pero para no hacerlo tan aburrido, decidí darle un pequeño efecto.

Una vez creado el clip, diseñaremos el formulario en ese clip, insertamos tres campos de texto y les asignamos un nombre de instancia a cada uno : nombre, eemail, y otro que se llame mensaje de tipo texto dinámico donde se mostrarán los mensajes a la hora de realizar alguna acción.

También agregamos dos botones uno para enviar los datos y procesarlos y el otro para limpiar el formulario. Si no tenemos idea de cómo dibujar un botón, podemos usar botones ya prediseñados en el menú ventana – bibliotecas comunes.
Bueno, el siguiente paso es salir del clip de película para utilizarlo en nuestro escenario, damos clic sobre la línea de tiempo donde dice Escena1 para regresar a la película principal.

Por el momento no hay nada en el escenario, pero tenemos un clip de película el cualopodemos ver que se encuentra en la biblioteca presionando f11, aquí arrastramos el clip hasta posicionarlo en el escenario.

Ahora podemos darle animación a nuestro formulario como si se tratara de una imagen, pero en realidad es una película que procesará datos, en este momento nos encontramos en el fotograma 1, presionamos f6 en otro fotograma puede ser el 16 o 25 dependiendo de que tan rápido queremos que dure la película, después clic derecho interpolación de movimiento.

Nos posicionamos en el fotograma 1 y elegimos de la barra de herramientas el icono de transformación libre, y escalamos la figura , de manera que quede pequeña, también podemos hacer que gire, para esto damos un clic en cualquier fotograma que se encuentre en medio del primero y el último y en propiedades, elegimos hacia donde girara.
El escenario debe verse como la siguiente imagen.Aqunque en el archivo original le agregue que también vaya apareciendo con el efecto alpha, del panel propiedades.

Pero si dejamos asi la animación se repetira infinitamente, por lo que falta escribir la línea stop(); en el último fotograma donde termina la animación y clic en acciones.

Después de todo la parte del diseño, solo queda que funcione.

Ahora damos doble clic sobre nuestro clip de película, estando dentro de su línea de tiempo, nos dirigimos al primer fotograma y escribimos en acciones lo siguiente.

nombre.text = “”;
eemail.text = “”;
asunto.text = “”;

Esto es para que cada que iniciemos la animación no se guarde basura y muestre resultados inesperados.
Ahora pasamos al botón enviar ,con un clic derecho y en acciones escribimos el siguiente código que ya esta documentado por alguna duda.

on(release){
//if (nombre.text.length && eemail.text.length && asunto.text.length)
//Verifica que todos los campos no esten vacios

if (nombre.text.length && eemail.text.length && asunto.text.length){
//(eemail.text.indexOf(“@”) != -1 && eemail.text.indexOf(“.”) != -1)
//Verifica que el campo eemail se escriba correctamente con “@ “y un “.”
//para hacer la comprobación utilizaremos un método de los objetos string
//llamado IndeOf: indica la posición en que se encuentra una letra o grupo de letras
// si no la encuentra devuelve -1

if (eemail.text.indexOf(“@”) != -1 && eemail.text.indexOf(“.”) != -1) {
//Creamos dos variables de la clase LoadVaras “con”: para enviar datos al servidor
//y “recibe”: para recibir datos del servidor

con = new LoadVars();
recibe = new LoadVars();
//Asignamos las variables que se enviaran
con.nombre = nombre.text;
con.eemail = eemail.text;
con.asunto = asunto.text;
//Usamos la propiedad senAndLoad para enviar o recibir datos
//tiene tres parámetros el primero es la página que procesará los datos
//el segundo , es la variable que recibe el estado de envio de datos al servidor
//el tercero el método por el que pasarán las variables

con.sendAndLoad(“contactof.php”,recibe, “POST”);

//Esta función devuelve el estado de que efectivamente se procesaron los datos
//devuelve ok , si los datos fueron enviados correctamente y se muestra
// en mensaje la frase “Los datos fueron enviados”

recibe.onLoad = function() {

if (recibe.estado == “ok”) {

mensaje.text = “Los datos fueron enviados”;
//Llamamos a la función borrar para uqe deje limpias las cajas de texto
borrar();

}

else {
//si hubo algún error al enviar los datos
mensaje.text = “Error al enviar los datos”;

}

}//funcion recibe

}//fin segundo if

else{
//Si no se cumple el segundo if , es decir si no escribió el email correctamente
eemail.text=”E-mail incorrecto”;
}

}// fin primerif

else{
//Si no se cumple el primer if , si no hay datos
mensaje.text=”Faltan ampos por llenar”;

}//fin else

function borrar (){
nombre.text =””;
eemail.text =””;
asunto.text =””;

}

}//fin release

Y en el botón borrar en acciones escribimos:

on(release){
nombre.text = “”;
eemail.text = “”;

asunto.text = “”;
}

Por ultimo creamos la página contactof.php que procesara los datos.

<?php
$nombre=$_POST[‘nombre’];
$eemail=$_POST[‘eemail’];
$asunto=$_POST[‘asunto’];

//Correo donde llegaran los datos
$email=”alguien@servidor.com”;

$comentario=”Tienes un comentario”;

$mensaje=”Te ha llegado un comentario de $nombre con los siguientes datos:
Nombre: $nombre
E-mail: $eemail

Y te ha enviado el siguiente mensaje:

___________________________________________
$asunto
————————————–“;

mail($email,$comentario,$mensaje);
echo”estado=ok”;
?>

Aqui una prueba de que funciona el formulario.

1) Si hay un error

2) Si faltan campos por llenar

3) Si los datos se enviaron correctamente

Si no disponemos de un servidor que trabaje con php, para recoger los datos y procesarlos, podemos usar otro método más simple que usa el programa de correo electrónico instalado en la computadora del usuario.
Entonces sistituimos el código del botón enviar por el siguiente:

on(release){

if (nombre.text.length && eemail.text.length && asunto.text.length){
if (eemail.text.indexOf(“@”) != -1 && eemail.text.indexOf(“.”)
!= -1) {

//newline permite dejar saltos de línea cuando se muestra el mensaje
enviardatos=”alguien@servidor.com?subject=”+nombre+”&body=Nombre: “+nombre+newline+”E-mail:”+eemail+newline+”Asunto:”+asunto;

getURL(enviardatos);

}//fin segundo if

else{

//Si no se cumple el segundo if , es decir si no escribió el email correctamente

eemail.text=”E-mail incorrecto”;

}

}//fin primer if
else{

//Si no se cumple el primer if , si no hay datos
mensaje.text=”Faltan ampos por llenar”;

}//fin else

function borrar (){

nombre.text =””;

eemail.text =””;

asunto.text =””;

}
}// fin del release

La desventaja de usar este método es que se abrirá el programa al pulsar el botón enviar y el usuario tendría que llenar algunos datos.Dejo los archivos aquí.

13 comentarios en “Formulario de contacto en Flash y PHP

  1. Excelente tutorial. ahora cuando lo subo a mi pagina me dice que tengo un error al enviar datos.
    Tengo un servidor pago, maneja smtp.servidor.com y pop3.servidor.com, pero asi y todo me da error.
    Mucho no entiendo de esto pero mi pagina esta dentro de un public_html y el php lo puse dentro de un subdirectorio junto con mi archivo flash. Cual podra se el problema?
    muchas gracias.

  2. Cómo va!!!
    Bueno, antes que nada, gracias por este post.
    El formulario funciona. Tenía uno pero no verificaba los datos ingresados, y me cansé de buscar en los primeros resultados de Google; esta web no aparece en las primeras posiciones, pero fui más allá… y este formulario me funcionó de 10!!!
    Lo único que al campo ASUNTO le falta un scroll, pero se lo agregué, y personalicé el formulario (Gráfica).

    Te invito a mi web aiteok.com.ar

    Quedamos en contacto para intercambiar ideas y sugerencias de códigos! Saludo!

    Tony

  3. todo bien tu formulario, entendi instrucciones hasta.. crear pagina contactof.php, es una pagina o un archivo donde lo creo en flash por favor si puedes explicarme soy novato en esto.
    agradecere tu respuesta.
    daniel

  4. Pues si es un archivo de tipo php, osea que para esto tienes que tener un servidor que trabaje con php, la puedes bajar paquetes como xampp, o appserver entre otros que hay .
    En flash los archivos que se crean tienen extension .fla, php es un lenguaje de programacion y sus archivos tienen extension .php, asi que para procesar los datos en flash y enviarlos al correo en este caso elegi php, talvez puedas usar algun otro, pero yo elegi este, asi que puedes buscar un poco en internet sobre php y como levantar un servidor local en tu maquinao no se donde lo estes haciendo igual y ya lo tienes instalado en tu servidor.

  5. Sin duda el mejor tutorial que he visto. El problema ahora es que en el 50% de servidores del mundo, ya no funciona el archivo php que envía los datos. Creo que al cambiar la versión, se necesita cambiar algo. ¿Hay alguna solución a esto?

  6. amigo me llega el email pero me llega mostrando el HTML, como arreglo eso? y ya desactiva la funcion de flash de mostrar como HTML. a ver si me ayudas please

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s