LeoBaraldi – Ejemplos Flash, Ejemplos actionscript, Tutoriales Flash, Tutoriales actionscript, actionscript 3, curso de actionscript

Recursos y ejemplos de actionscript, Flash, AIR, Flex, CSS y HTML. Tutoriales de actionscript 2 y actionscript 3

Formulario para enviar mails desde flash o formulario de contacto en flash

| 32 Comments

SE ACTUALIZO ESTE POST, NUEVA VERSION DEL MISMO Y MEJORADO EN http://www.leobaraldi.com.ar/2008/09/13/formulario-de-contacto-flash-as3-funciona-para-cuentas-gmail-y-hotmail-inclusive/

Ante que todos vamos a necesitar que nuestro servidor soporte php porque por si solo el flash no puede enviar datos como un mail.

Vamos a usar el un código en php que esta disponible en muchas páginas de recursos para flash el cual sera el encargado de enviar nuestros mail.

La idea de este tuto es mostrarle como hacer desde flash para comunicarnos con dicho php y este envié un mail, en ustedes estara la posibilidad de agregar mas campos y personalizarlo a la medida que lo necesiten.

Pasemos al AS de flash, como siempre en el primer frame ponemos lo siguiente:

ActionScript
< view plain text >
  1. //por si tenemos caracteres raros como las ñ óáéíú
  2. System.useCodepage = true;
  3. //aqui abrimos la seguridad de nuestro server para este flash e indicamos el dominio
  4. System.security.allowDomain("http://www.misitio.com.ar/");
  5. //aquí que levante el archivo de políticas de seguridad
  6. System.security.loadPolicyFile("http://www.misitio.com.ar/crossdomain.xml");
  7. //esto que esta arriba y lo de la seguridad es un nuevo requerimiento para flash 8 para que no se
  8. //pueda ejecutar películas desde fuera de nuestro dominio
  9. //
  10. //
  11. //
  12. //un stop por si los mosquitos
  13. stop();
  14. //creamos una función enviar que verificara todos nuestros datos si están de manera correcta
  15. function enviar() {
  16. //creamos una variable con el valor 1 para validar el "esta todo bien"
  17. envio = 1;
  18. //
  19. //comenzamos a definir la variable que almacenara nuestros campos de textos de tipo introducción de texto
  20. //como pueden ver "variable" es el contenedor, en el se grabaran todos los datos
  21. //que el usuario ponga en cada campo.
  22. //NOTA: como pueden ver comenzamos de atrás para delante, si el ultimo campo de nuestro
  23. //formulario es el campo de consulta lo ponemos primero y así sucesivamente
  24. //de esta manera cuando recibamos el mail nos quedara en el orden correcto, porque pasa esto ni idea, si
  25. //alguien sabe que aporte.
  26. variables.Mensaje = consulta_txt.text;
  27. //acá vamos por el campo mail, como pueden ver hay un condicional simple que verifica que el
  28. //usuario no deje el campo en blanco.
  29. //si este esta en blanco en dicho campo escribe: "este campo es obligatorio"
  30. //y la variable "envio = 0" evitando de esta manera que el formulario se envié.
  31. if (mail_txt.text == "" || mail_txt.text == "este campo es obligatorio") {
  32. mail_txt.text = "este campo es obligatorio";
  33. variables.correo = mail_txt.text;
  34. envio = 0;
  35. } else {
  36. variables.Correo = mail_txt.text;
  37. }
  38. //aquí que agregue al contenedor el campo apellido
  39. variables.Apellido = apellido_txt.text;
  40. //aquí otro condicional igual al mail que nos obliga a poner un nombre
  41. if (nombre_txt.text == "" || nombre_txt.text == "este campo es obligatorio") {
  42. nombre_txt.text = "este campo es obligatorio";
  43. variables.nombre = nombre_txt.text;
  44. envio = 0;
  45. } else {
  46. variables.nombre = nombre_txt.text;
  47. }
  48. //aquí viene la verdad de la milanesa.
  49. //este condicional simple dice si todos los campos están completos incluyendo que en los obligatorios
  50. //no este la cadena de texto "este campo es obligatorio", entonces envía el mail
  51. if (envio == 1) {
  52. //aquí a nuestro contenedor le indicamos a que mail queremos recibir las consultas
  53. variables.email = "info@leobaraldi.com.ar";
  54. //aquí el titulo del mail
  55. variables.subject = "Formulario desde la Web";
  56. //aquí la dire de nuestro php
  57. //NOTA: OBSERVERSE que usamos el método "sendAndLoad" que significa, enviar y recibir una respuesta
  58. //después de ser enviado los datos.
  59. //quien envía? "variables". A donde? a la "url" que vemos abajo. Quien recibe la respuesta? "variables". Por que método? "post"
  60. //no se olviden de poner bien su direccion completa donde esta el php
  61. variables.sendAndLoad("http://www.misitio.com.ar/mail.php?nocache="+random(10000), variables, "POST");
  62. }
  63. }
  64. //para usar el metodo sendAndLoad debemos declarar un nuevo objeto en este caso "new LoadVars()"
  65. variables = new LoadVars();
  66. //como dijimos  antes tenemos un send and load y load se refiere a que alguien o algo en el flash
  67. //recibirá la respuesta de "ok el servidor envio el mail" y el encargado del mismo es "onload"
  68. variables.onLoad = function() {
  69. //por o tanto acá podemos desencadenar cualquier evento que le avise al usuario que su
  70. //mensaje fue enviado correctamente
  71. estado_txt.text = "Mensaje enviado correctamente..."+newline+"Gracias..."
  72. };
  73. //bueno este es simple es el botón que al presionarlo haga todo lo que vimos arriba.
  74. enviar_btn.onRelease = function() {
  75. enviar();
  76. };

Author: LeoBaraldi

Diseñador gráfico y programador en Web, con experiencia profesional en el rubro desde 1998. Experto en diseño de interfaces Frontend y Backend, para sitios, portales y dispositivos móviles. Experto en estándares, CSS y HTML, conocimientos en CEO. Desarrollador de sitios multi plataformas en, HTML5, CSS3 y JQuery. Experto programador en Adobe Flex, AIR y ActionScript 3.0. Conocimientos en lenguajes como PHP, Javascript y bases de datos MySQL. Director de la carrera de diseño gráfico, Profesor de Diseño III y Diseño Web, en la Escuela Superior de Diseño Aguas de la Cañada, asesor y colaborador para medios gráficos, editoriales y revistas afines. Actualmente Jefe de Producción en Manifesto solutions.

32 Comments

  1. MUCHAS GRACIAS
    por tu formulario de email
    es siple de manejar y sobre todo, funciona; estaba frito con los formularios que que llegan en blanco; muchas gracias de nuevo

  2. el flash 8 me da q hay errores de sintaxis en varias lineas :S no soy tan avesada como para detectarlos, pero en las primeras 2 clavado da error :S

  3. consegui q funcionara a medias pues sin modificar lo sustancial del ejemplo, aunque no llene lso campos envia el mail

  4. Leo No me anda, pero creeria que s por el flash 8. Tenes alguna solucion? Si no, consigo alguna version anterior y lo hago desde ahi. Muchas gracias Campeon!

  5. He subido este formulario a la pagina que estoy realizando.. al momento de llenar los datos y enviarlos, me sale el mensaje que ya se enviaron, pero no me llegan a la bandeja de entrada de mi correo.. que estoy haciendo mal?? puede ponerse en contacto conmigo??

  6. hola tengo problemas para enviar variables de flash a php…
    ******flash
    onClipEvent(load)
    {
    var finito = new LoadVars();
    var dos = new LoadVars();
    ponde=_global.ponderacion;
    palab=_global.palabras;
    lectu=_global.lectura;
    numero=_global.obtenido;
    finito.ponderacion =ponde;
    finito.palabras = palab;
    finito.nombrelectura = lectu;
    finito.numerolectura = numero;
    //_root.micou.text=ponde + “,” + palab+”,”+”,”+ lectu+”,”+ numero;
    finito.sendAndLoad(“fincompro.php”, dos, “POST”);
    dos.onLoad = function()
    {

    };
    //Función que procesa los datos recibidos del servidor

    }
    **************fin flash
    *********y php
    $ingpal=$_POST["palabras"];
    *******fin php
    el problema es que no evia ni rosca y llevo mas de una semana…ayuda

  7. Este formulario no anda si el destinatario del formulario es usuario de hotmail o gmail :( lo descubri hace poquito ya voy a ver porque o como arreglarlo.

  8. Your site is perfect!

  9. dos inquietudes….me sale unos herrores en el accion script de flash y lo otro es al php no hay que modificarle nada???

    Gracias…

  10. Hola sabes q es lo q no entiendo… eso d PHP… d donde lo saco? las acciones d AS tenía unas parecidas pero cuando tengo q poner otras en PHP no s si es adentro d Flash o si tengo q tener otro programa o hacerlo mediante un servidor. M podés explicar un poquito esta parte? MeL

  11. Las instrucciones en php, van del lado del servidor, es un archivo, que no va dentro de nungun flash, es una hoja que ejecuta distintas funciones para dar algún resultado, como un archivo html, xml o una variable resultante. En el caso de formulario como el flash no puede enviar datos lo que hace el php es recibir lo que vos pones en el formulario en flash y el php se encarga de ancapsular dichos datos y los envia, si el envio fue correcto el php le envia una respuesta al flash que el envio fue correcto.
    En definitiva el flash adentro no lleva ningun codigo php, simplemente le ordena al php que esta afuera donde deben ir los datos y el flash espera si lo pudo realizar a la tarea

  12. Entonces donde tengo que armar ese archivo html, xml o variable? Tengo que tener un hosting para probarlo ya.. no? y otra pregunta.. viste cuando ya armás el fichero de contacto.. para q salga el msj d “su msj ha sido enviado” eso s programa del botón d enviar msj no? Besos. MeL

  13. Hello! Good Site! Thanks you! nsehmcihtmzb

  14. Hola segui todos los pasos pero no me llegan los emails, luego al momento de poner enviar me sale que el mensaje ya enviado exitosamente pero aun siguen llenos los campos, ¿hay forma de que a la hora de enviar se redireccione a otra pagina? o que regrese a la pagina inicial? como y donde hago eso? y estuve viendo que el php esta en ingles y el script del primer fotograma en flash esta en español eso no genera conflictos? porfavor ayudenme a poder lograr este formulario que me tiene LOCO!!!

  15. hola leo muy buena tu pag, hace poco empece a diseñar y si no fuera por gente como vos q tiene estos tutoriales estaria como al principio.
    Una consulta ( x ahora estoy usando coffeecup para los formularios hasta q le agarre la mano a hacerlo en flash) yo hice el formulario en flash y luego tengo que crear el archivo php (lo haria con dreamweaver)y los subiria al server para q el mismo funcione?
    desd ya muchas gracias y exitos

  16. jeje puse mal la dire de mi web en el comentario anterior. cosas que pasan no? me olvide el .ar jaja

  17. Hola alepech, fijate en los archivos a descargar de ste ejemplo tens un file php (mail.php), solo debes subir ese file a tu server y listo!!!

  18. Perfecto pero como podria modificar este ejemplo para permitir agregar adjuntos al correo, lo necesito para que me envien curriculums de esta forma, muchas gracias !!!

    Jorge.

  19. Hola leo, estoy con el tema de los formularios y lo puedo hacer andar babaro, pero tengo el problema que no me llegan a mail de hotmail, vi que dejaste un comentario sobre eso, que ibas a averiguar,tuviste alguna novedad? se puede solucionar? bueno gracias desde ya
    saludos

  20. hola perdon por las molestias estoy intentando meter un formulario en mi web e probao 600 ya y no ai manera.

    Eh modificado el action script de flash ( tengo que modificar el archivo mail.php tambien?

    es que soy un novato sorry un saludo!
    y gracias

  21. El php lo dejas tal cual como esta,en esta linea “variables.email = “info@leobaraldi.com.ar”;” debes reemplazar el correo que esta por el que vos queres. Recuerda que este formulario no funciona para cuentas Hotmail y Gmail.

  22. Mira y si uso el archivo php adaptado a otro form que ya yo tenia hecho servira?….

  23. Lucy puedes usarlo con cualquier formulario que tengas! descargate el ejemplo y fijate como se comunica con cada campo almacenando en una variable

  24. Gracias a todos los que ayudais a
    princpiantes, aunque sea uno de 74 añitos, como yó.
    Un abrazo muy fuerte

  25. Si me funciona , seràs mi nuevo idolo, eres genial Leo, saludos desde Chile un abrazo…

  26. Leo, compadre puedes avisar cuando este formulario funke con Hotmail y Gmail…
    Lo Necesito, plis

    Saludos Hermano

  27. Ok, este fin de semana me pongo en campaña!

  28. Gracias mostro funciono a la perfección!!!

    muy bien explicado!!

    Gracias!

  29. Gracias,,super sencillo, super bien explicado,,te amé!!! jejejeje ^-^

Deja un comentario

Required fields are marked *.