Formulario Flash, Actionscript y PHP

 Archivado en: Recursos Flash — a.franco @ Sep 19th, 2007
Buenas compañeros. Me satisface poder hacer mi primera aportación a este fabuloso proyecto.
Vamos a estrenarnos D . El recurso que nos ocupa creo que es interesante pues es algo muy necesitado en cualquier proyecto web. En este caso, el formulario de contacto lo vamos a implementar con Flash, Actionscript y PHP.Podéis descargarlo desde aqui
Tanto en el código AS como en el archivo .php he comentado las secciones de código más importantes para que sea más facil de entender lo que estamos haciendo.
Los pasos que hay que seguir son muy sencillos:

  1. Creamos el Formulario en Flash, lo animamos para que aparezca de forma más espectacular y tal…
  2. En el fotograma 1 de la Capa AS, colocámos el código (que ya viene puesto en el ejemplo)
  3. Subimos el archivo contactar.php al servidor
  4. Modificamos en la capa AS los datos genéricos por los nuestos y también en el archivo .php

Una parte interesante del formulario, está en que recibe la confirmación del envio o fallo del mail y lo comunica en el flash.
Lo dicho, descargar, edidtar y funcionar.

Espero que les sea de ayuda.

3 comentarios »

  1. Gran recurso aurelio, gracias por tu aportación. Por cierto, genial tu web, enhorabuena.

    Comentario por Javier — 26 Septiembre 2007 @ 10:10

  2. hola , estuve intentando hacer funcionar el formulario flash, modificando los datos tal cual explicas y no me funciona. Lo subo al servidor y cuando envio el mensaje dice q no se a podido enviar q lo intente mas tarde. aqui te pego las modificaciones que hice a ver si me puedes decir en que me equivoco:
    $nombre de $poblacion Escribió un mensaje desde la web de www.tuweb.com”.'’.”E-Mail de contacto: $email“.'’.”Telefono de contacto: $telefono“.'’.”MENSAJE de $nombre:”.'’.”$mensaje“;

    //para el envío en formato HTML
    $headers = “MIME-Version: 1.0\r\n”;
    $headers .= “Content-type: text/html; charset=iso-8859-1\r\n”;

    //dirección del remitente
    $headers .= “From: INFO TUWEB

    y en flash

    stop();

    System.useCodepage = true;
    var verificar_formulario:Boolean = true;
    var texto_confirmacion:String = “”;
    borrar_formulario();

    // Funcion para borrar el formulario
    borrar_formulario = function () {
    txt_nombre_mc.txt_nombre.text = “”;
    txt_mail_mc.txt_email.text = “”;
    txt_asunto_mc.txt_asunto.text = “”;
    txt_mensaje_mc.txt_mensaje.text = “”;
    txt_telefono_mc.txt_telefono.text = “”;
    };

    //Comprobamos que no se dejen ningun campo en blanco
    comprobar_formulario = function () {
    if (txt_nombre_mc.txt_nombre.text == “”) {
    txt_nombre_mc.txt_nombre.text = “CAMPO OBLIGATORIO”;
    verificar_formulario = false;
    }
    if (txt_mail_mc.txt_email.text == “”) {
    txt_mail_mc.txt_email.text = “CAMPO OBLIGATORIO”;
    verificar_formulario = false;
    }
    if (txt_asunto_mc.txt_asunto.text == “”) {
    txt_asunto_mc.txt_asunto.text = “CAMPO OBLIGATORIO”;
    verificar_formulario = false;
    }
    if (txt_telefono_mc.txt_telefono.text == “”) {
    txt_telefono_mc.txt_telefono.text = “CAMPO OBLIGATORIO”;
    verificar_formulario = false;
    }
    if (txt_mensaje_mc.txt_mensaje.text == “”) {
    txt_mensaje_mc.txt_mensaje.text = “CAMPO OBLIGATORIO”;
    verificar_formulario = false;
    }
    if (txt_nombre_mc.txt_nombre.text != “CAMPO OBLIGATORIO” && txt_mail_mc.txt_email.text != “CAMPO OBLIGATORIO” && txt_asunto_mc.txt_asunto.text != “CAMPO OBLIGATORIO” && txt_mensaje_mc.txt_mensaje.text != “CAMPO OBLIGATORIO”) {
    verificar_formulario = true;
    }
    };
    // Función para enviar formulario
    enviar_formulario = function () {
    lv = new LoadVars();
    lv.nombre = txt_nombre_mc.txt_nombre.text;
    lv.email = txt_mail_mc.txt_email.text;
    lv.telefono = txt_telefono_mc.txt_telefono.text;
    lv.asunto = txt_asunto_mc.txt_asunto.text;
    lv.mensaje = txt_mensaje_mc.txt_mensaje.text;
    //En la línea de debajo, la dirección web que aparece la tienes que cambiar por la
    //dirección web a la que has subido el archivo contactar.php de tu servidor.
    lv.sendAndLoad(”http://www.iberointernet.es/contactar.php”, lv, “POST”);
    lv.onLoad = function() {
    //Aquí es donde cargamos el texto de confirmación de envío o de no envío
    // que se obtiene de lv.sendAndLoad(”http://www.direccionweb.com/contactar.php”, lv, “POST”);
    if (this.estado == “ok”) {
    gotoAndPlay(”confirmacion”);
    texto_confirmacion = “El mensaje ha sido enviado satisfactoriamente. Gracias.”;
    } else {
    texto_confirmacion = “El mensaje no se ha podido enviar. Intentelo de nuevo más tarde. Gacias.”;
    gotoAndPlay(”confirmacion”);
    }
    };
    };
    //Funcion para rebobinar el mensaje de confirmación al cerrar.
    rebobinar = function (inicio:Number, fin:Number) {
    this.onEnterFrame = function() {
    this.prevFrame();
    inicio–;
    if (inicio == fin) {
    delete this.onEnterFrame;
    }
    };
    };

    el servido soporta PHP 4 y 5
    he modificado los permisos ha 777
    realice prueba de envio de mail con el siguiente codigo

    y lo recibo perfectamente .

    espero puedas ayudarme

    gracias

    Comentario por adrian — 13 Enero 2008 @ 20:48

  3. Hola Adrián, no veo nada raro en el código, debería de funcionar correctamente. Comprueba el contactar.php y repasalo por si se te ha saltado alguna coma o algo por el estilo ya que php es un poco fastidioso en ese sentido.

    Comentario por a.franco — 14 Enero 2008 @ 11:14

Suscripción RSS a los comentarios de la entrada. URI para TrackBack.

Deje un comentario