Foros del Web » Creando para Internet » Flash y Actionscript »

Formulario en flash y php?

Estas en el tema de Formulario en flash y php? en el foro de Flash y Actionscript en Foros del Web. Hola, tengo un problema y es que estoy haciendome una web hecha con flash y ya la tengo casi terminada pero solo me falta hacer ...
  #1 (permalink)  
Antiguo 14/03/2009, 08:19
Avatar de nachotator  
Fecha de Ingreso: noviembre-2008
Mensajes: 107
Antigüedad: 15 años, 4 meses
Puntos: 1
Formulario en flash y php?

Hola, tengo un problema y es que estoy haciendome una web hecha con flash y ya la tengo casi terminada pero solo me falta hacer que mi formulario funcione. Ya me funcionaba en la otra web que tengo pero me imagino que al cambiar la cosa no me sirve.

el codigo que tengo puesto en el un fotograma de mi formulario es este:

Código:
label_01 = "Nombre";
label_02 = "Empresa";
label_03 = "Teléfono";
label_04 = "E-mail";
label_05 = "Mensaje";
name1 = label_01;
company = label_02;
number = label_03;
email = label_04;
message1 = label_05;
this.onEnterFrame = function ()
{
    txtfld1.onSetFocus = function ()
    {
        if (name1 == label_01) 
        {
            name1 = "";
        }
    }
    ;
    txtfld1.onKillFocus = function ()
    {
        if (name1 == "") 
        {
            name1 = label_01;
        }
    }
    ;
    txtfld2.onSetFocus = function ()
    {
        if (company == label_02) 
        {
            company = "";
        }
    }
    ;
    txtfld2.onKillFocus = function ()
    {
        if (company == "") 
        {
            company = label_02;
        }
    }
    ;
    txtfld3.onSetFocus = function ()
    {
        if (number == label_03) 
        {
            number = "";
        }
    }
    ;
    txtfld3.onKillFocus = function ()
    {
        if (number == "") 
        {
            number = label_03;
        }
    }
    ;
    txtfld4.onSetFocus = function ()
    {
        if (email == label_04) 
        {
            email = "";
        }
    }
    ;
    txtfld4.onKillFocus = function ()
    {
        if (email == "") 
        {
            email = label_04;
        }
    }
    ;
    txtfld5.onSetFocus = function ()
    {
        if (message1 == label_05) 
        {
            message1 = "";
        }
    }
    ;
    txtfld5.onKillFocus = function ()
    {
        if (message1 == "") 
        {
            message1 = label_05;
        }
    }
    ;
}
;
correo.onPress=function(){
	getURL("mailto:");
};
stop();
Y el codigo que hay en el boton "Enviar" es este:

Código:
on(rollOver)
{
    this.gotoAndPlay("over");
}on(rollOut, releaseOutside)
{
    this.gotoAndPlay("out");
}on(release)
{
    if (_root.pgap.pages1.page5.name1 == "Name" || _root.pgap.pages1.page5.company == "Company" || _root.pgap.pages1.page5.email == "E-mail" || _root.pgap.pages1.page5.number == "Phone" || _root.pgap.pages1.page5.message1 == "Message" || _root.pgap.pages1.page5.name1 == "" || _root.pgap.pages1.page5.company == "" || _root.pgap.pages1.page5.email == "" || _root.pgap.pages1.page5.number == "" || _root.pgap.pages1.page5.message1 == "") 
    {
        _parent.gotoAndStop(3);
    }
    else 
    {
        _parent.loadVariables("email.php", "POST");
        _parent.gotoAndStop(2);
    }
}
Ya se que tengo que hacer un PHP para que funcione que se llame "email.php" pero no me funciona conforme lo tenia antes.

El codigo PHP que tengo en "email.php" es este:

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<?
$nombre = $_POST['name1'];
$mail = $_POST['email'];
$empresa = $_POST['company'];

$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $name1 . ", de la empresa " . $company . " \r\n";
$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '';
$asunto = '';

mail($para, $asunto, utf8_decode($mensaje), $header);
?>
El caso es que el mensaje si que me lo envia a mi correo pero el problema es que no me aparece lo que se escribe en los campos del formulario.

Alguien me podria decir que es lo que tengo que cambiar para que funcione?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 14/03/2009, 12:28
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 16 años, 10 meses
Puntos: 67
Respuesta: Formulario en flash y php?

Qué se supone que hace este onEnterFrame?:


Código:
this.onEnterFrame = function ()
{
txtfld1.onSetFocus = function ()
    {
        if (name1 == label_01) 
        {
            name1 = "";
        }
    }

...... 
  #3 (permalink)  
Antiguo 14/03/2009, 12:29
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 16 años, 10 meses
Puntos: 67
Respuesta: Formulario en flash y php?

Por cierto usa LoadVars y no loadVariables, loadVariables es viejo e ineficiente para el uso de las variables.
  #4 (permalink)  
Antiguo 14/03/2009, 16:30
Avatar de nachotator  
Fecha de Ingreso: noviembre-2008
Mensajes: 107
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Formulario en flash y php?

La verdad es que no estoy seguro, es una plantilla que he modificado y esos codigos ya estaban.

Alguien tiene la solucion al problema? Yo es que se dieseñar pero lo que es programar lo llevo mal, algo se pero muy poco.
  #5 (permalink)  
Antiguo 15/03/2009, 02:09
Avatar de nachotator  
Fecha de Ingreso: noviembre-2008
Mensajes: 107
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Formulario en flash y php?

Estoy haciendo pruebas a base de poner los mismos nombres en el PHP que en el flash y ya casi lo tengo pero me sale una cosa muy rara, por ejemplo en el mensaje que me llega salen los campos rellenados que se han escrito pero me sale unos simbolos diciendo me el tipo de letra que se ha utilizado entre otras cosas. Por ejemplo en el mensaje que me llega en el apartado del nombre me sale esto:


Este mensaje fue enviado por <TEXTFORMAT LEADING=\"2\"><P ALIGN=\"JUSTIFY\"><FONT FACE=\"Tahoma\" SIZE=\"13\" COLOR=\"#777777\" LETTERSPACING=\"0\" KERNING=\"0\">nacho</FONT></P></TEXTFORMAT>


Alguien sabe como quitar eso?

Os vuelvo a poner los codigos para que veais como lo tengo ahora:

Este es el del flash:

Código:
label_01 = "Nombre";
label_02 = "Empresa";
label_03 = "Teléfono";
label_04 = "E-mail";
label_05 = "Mensaje";
name1 = label_01;
company = label_02;
number = label_03;
email = label_04;
message1 = label_05;
this.onEnterFrame = function ()
{
    txtfld1.onSetFocus = function ()
    {
        if (name1 == label_01) 
        {
            name1 = "";
        }
    }
    ;
    txtfld1.onKillFocus = function ()
    {
        if (name1 == "") 
        {
            name1 = label_01;
        }
    }
    ;
    txtfld2.onSetFocus = function ()
    {
        if (company == label_02) 
        {
            company = "";
        }
    }
    ;
    txtfld2.onKillFocus = function ()
    {
        if (company == "") 
        {
            company = label_02;
        }
    }
    ;
    txtfld3.onSetFocus = function ()
    {
        if (number == label_03) 
        {
            number = "";
        }
    }
    ;
    txtfld3.onKillFocus = function ()
    {
        if (number == "") 
        {
            number = label_03;
        }
    }
    ;
    txtfld4.onSetFocus = function ()
    {
        if (email == label_04) 
        {
            email = "";
        }
    }
    ;
    txtfld4.onKillFocus = function ()
    {
        if (email == "") 
        {
            email = label_04;
        }
    }
    ;
    txtfld5.onSetFocus = function ()
    {
        if (message1 == label_05) 
        {
            message1 = "";
        }
    }
    ;
    txtfld5.onKillFocus = function ()
    {
        if (message1 == "") 
        {
            message1 = label_05;
        }
    }
    ;
}
;
correo.onPress=function(){
	getURL("mailto:[email protected]");
};
stop();
y este es el de mi PHP que es el que mas he modificado:

Código:
<?
$name1 = $_POST['name1'];
$email = $_POST['email'];
$empresa = $_POST['company'];

$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$message1 = "Este mensaje fue enviado por " . $name1 . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Mensaje: " . $_POST['message1'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Disenyoweb.com';

mail($para, $asunto, utf8_decode($mensaje), $header);
?>
Gracias y un saludo.

Última edición por nachotator; 15/03/2009 a las 02:31
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:43.