carpe_27
Usuario Novato
Usuario Novato

Hola buenas.

Ante todo gracias por leer la siguiente duda xD.

Vereis, tengo un template en flash modificado y adaptado a mi gusto, eso si respetando los derechos del autor y su copyright, el problema es el siguiente, venia con un formulario ya hecho, y resulta que no se como hacer para que ese formulario me lo envie a mi correo, he estado probando de mil maneras pero ninguna a funcionado, si alguien es tan amable de explicarmelo se lo agradeceria muchisimo, no tengo mucha experiencia en flash.

Un saludo y gracias.

Avatar Image
@man / @woman
@man / @woman

No acalaras como es el archivo .swf y si tienes acceso al código fuente.

carpe_27
Usuario Novato
Usuario Novato

Perdon, me explico, el formulario esta separado de lo que es la pagina, es decir, en la biblioteca hay 6 carpetas, 1 para el fondo y elementos de la página, otra para botones, la de contacto que es donde esta el formulario, que consta de un boton de contacto y un conctact form que es donde esta definido el formulario, luego las otras tres carpetas son para la barra de carga, las otras paginas (es decir la pagina de informacion, acerca de nosotros y demas, etc.) y la ultima para las imágenes.

Aqui os pongo la acción que tiene definida la página de contacto:

Spoiler:

contact_name.text = contact_email.text = contact_subject.text =
contact_message.text = message_status.text = "";

send_button.addEventListener(MouseEvent.CLICK, submit);
reset_button.addEventListener(MouseEvent.CLICK, reset);

var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "send_email.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
    if( contact_name.text == "" || contact_email.text == "" ||
        contact_subject.text == "" || contact_message.text == "" )
    {
        message_status.text = "Por favor, rellene todos los campos.";
    }
    else if( !validate_email(contact_email.text) )
    {
        message_status.text = "Por favor introduzca un email válido.";
    }
    else
    {
        message_status.text = "enviando...";
        
        var email_data:String = "nombre=" + contact_name.text
                       + "&email=" + contact_email.text
                       + "&teléfono=" + contact_subject.text
                       + "&mensage=" + contact_message.text;
                       
        var URL_vars:URLVariables = new URLVariables(email_data);
        URL_vars.dataFormat = URLLoaderDataFormat.TEXT;
        
        URL_request.data = URL_vars;
        var_load.load( URL_request );
        var_load.addEventListener(Event.COMPLETE, receive_response );
    }
}

function reset(e:MouseEvent):void
{
    contact_name.text = contact_email.text = contact_subject.text =
    contact_message.text = message_status.text = "";
}

function validate_email(s:String):Boolean
{
    var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
    var r:Object = p.exec(s);
    if( r == null )
    {
        return false;
    }
    
    

    return true;
}

function receive_response(e:Event):void
{
    var loader:URLLoader = URLLoader(e.target);
    var email_status = new URLVariables(loader.data).success;
    
    if( email_status == "yes" )
    {
        message_status.text = "¡Gracias! Su mensaje ha sido enviado.";
        timer = new Timer(500);
        timer.addEventListener(TimerEvent.TIMER, on_timer);
        timer.start();
    }
    else
    {
        message_status.text = "¡Error! Su mensaje no se ha podido enviar.";
    }
}

function on_timer(te:TimerEvent):void
{
    if( timer.currentCount >= 10 )
    {
        contact_name.text = contact_email.text = contact_subject.text =
        contact_message.text = message_status.text = "";
        timer.removeEventListener(TimerEvent.TIMER, on_timer);
    }
}

y luego tengo en la carpeta donde tengo situado la página en html que contiene el .swf dos archivos php script, uno de ellos llamado send_email y el otro send_email_auto_response. Os pongo lo que contiene cada uno:

send_email

Spoiler:

<?php
$contact_name = $_POST['name'];
$contact_email = $_POST['email'];
$contact_subject = $_POST['subject'];
$contact_message = $_POST['message'];

if( $contact_name == true )
{
    $sender = $contact_email;
    $receiver = "yourname@yourdomain.com";
    $client_ip = $_SERVER['REMOTE_ADDR'];
    $email_body = "Name: $contact_name \nEmail: $sender \n\nSubject: $contact_subject \n\nMessage: \n\n$contact_message \n\nIP: $client_ip \n\nFlash Contact Form provided by http://www.flashmo.com";        
    $extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();

    if( mail( $receiver, "Flash Contact Form - $contact_subject", $email_body, $extra ) )
    {
        echo "success=yes";
    }
    else
    {
        echo "success=no";
    }
}
?>

send_email_auto_response

Spoiler:

<?php
$contact_name = $_POST['name'];
$contact_email = $_POST['email'];
$contact_subject = $_POST['subject'];
$contact_message = $_POST['message'];

if( $contact_name == true )
{
    $sender = $contact_email;
    $receiver = "yourname@yourdomain.com";
    $client_ip = $_SERVER['REMOTE_ADDR'];
    
    $email_body = "Name: $contact_name \nEmail: $sender \n\nSubject: $contact_subject \n\nMessage: \n\n$contact_message \n\nIP: $client_ip \n\nFlash Contact Form provided by http://www.flashmo.com";
    $email_body_auto_reply = "Hello $contact_name, \nThis is the auto reply message. Thank you. \n\nAdmin - http://www.flashmo.com";
    
    $extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();
    $extra_auto_reply = "From: $receiver\r\n" . "Reply-To: $receiver \r\n" . "X-Mailer: PHP/" . phpversion();
    
    mail( $sender, "Auto Reply - Re: $contact_subject", $email_body_auto_reply, $extra_auto_reply );    // auto reply mail to sender

    if( mail( $receiver, "Flash Contact Form - $contact_subject", $email_body, $extra ) )
    {
        echo "success=yes";
    }
    else
    {
        echo "success=no";
    }
}
?>

Espero que alguien pueda ayudarme, antes trabajaba con frontpage y dreamweaver, pero al pasarme a flash estoy perdido.

Un saludo y gracias.

Avatar Image
@man / @woman
@man / @woman

En los dos últimos códigos hay una campo que pone una dirección de mail ¿has probado a poner la dirección de mail donde quiere recibir los mails?

carpe_27
Usuario Novato
Usuario Novato

Si, y una vez subida la página al servidor me dice esto:

Spoiler:

Error: Error #2101: La cadena transmitida a URLVariables.decode() debe ser una cadena de consulta con formato URL codificado y pares nombre/valor.
    at Error$/throwError()
    at flash.net::URLVariables/decode()
    at flash.net::URLVariables()
    at flashmo_189_reflection_fla::contactform_25/receive_response()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
TemaUsuariosRespuestasVisitasActividad
Por: , el 11/Nov/2004, 04:22
anyros03kNov/04
Por: , el 18/Abr/2004, 03:48
Diablito01 andresca aprendiz_ pink1509 DkS-Assault85kJul/05
Por: , el 14/Ago/2010, 20:44
malkovyx NoSetup.org12kAug/10
Por: , el 11/Abr/2010, 20:11
Ruth86 iblancasa73kApr/10
Por: User 1870729, el 15/Mar/2010, 17:29
User 187072912kMar/10