Comunidad de diseño web y desarrollo en internet online

No funciona form en PHP y FLASH

Citar            
MensajeEscrito el 19 Sep 2011 08:18 pm
Hola!
cómo están?
Les cuento que estoy armando un formulario en flash, basado en uno que ya tenia hecho. El problema es que no sé porque motivo no me manda los mails. Funcionan los campos pero al apretar ENVIAR no hace nada.

Tengo el formulario en un framde la película. El botón ENVIAR tiene el siguiente código:
on (release) {
var lvsend:LoadVars = new LoadVars();
var lvrecv:LoadVars = new LoadVars();
lvsend.nombre = txtnombre.text;
lvsend.pais = txtpais.text;
lvsend.email = txtemail.text;
lvsend.codigo = txtcodigo.text;
lvsend.cantidad = txtcantidad.text;
lvsend.colores = txtcolores.text;
lvsend.talles = txttalles.text;
lvsend.observaciones = txtobservaciones.text;
lvsend.sendAndLoad("mail.php",lvrecv,"POST");
lvrecv.onLoad = function()
{
if (lvrecv.rpta == "ok")
{
txtestado.text = "Enviado con exito";
}
else
{
txtestado.text = "Error en el envio";
}
};
}

y el archivo mail.php tiene el siguiente código:
<?php
if ($_POST['email'] = "") {
$dest = "[email protected]";
$head = "From: ".$_POST['email']."\r\n";
$head.= "To:[email protected]\r\n";
// Ahora creamos el cuerpo del mensaje
$msg = "------------------------------- \n";
$msg.= " Comentarios \n";
$msg.= "------------------------------- \n";
$msg.= "NOMBRE: ".$_POST['txtnombre']."\n";
$msg.= "PAIS: ".$_POST['txtpais']."\n";
$msg.= "EMAIL: ".$_POST['txtemail']."\n";
$msg.= "CODIGO: ".$_POST['txtcodigo']."\n";
$msg.= "CANTIDAD: ".$_POST['txtcantidad']."\n";
$msg.= "COLORES: ".$_POST['txtcolores']."\n";
$msg.= "TALLES: ".$_POST['txttalles']."\n";
$msg.= "OBSERVACIONES: ".$_POST['txtobservaciones']."\n";
$msg.= "HORA: ".date("h:i:s a ")."\n";
$msg.= "FECHA: ".date("D, d M Y")."\n";
$msg.= "------------------------------- \n\n";
$msg.= $_POST['mensaje']."\n\n";
$msg.= "------------------------------- \n";
$msg.= " Mensaje creado por blog.unijimpe.net \n";
// Finalmente enviamos el mensaje
if (mail($dest, "Comentarios", $msg, $head)) {
echo "rpta=ok";
} else {
echo "rpta=error";
}
}
?>

Alguien puede decirme porque no anda?
gracias,
saludos!!!

Por lucyguedes

13 de clabLevel



Genero:Femenino  

Montevideo

firefox
Citar            
MensajeEscrito el 20 Sep 2011 01:57 pm
¿El PHP responder error?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Sep 2011 02:02 pm
Hola! no, no hace nada... :( como si no existiera.

Por lucyguedes

13 de clabLevel



Genero:Femenino  

Montevideo

firefox
Citar            
MensajeEscrito el 20 Sep 2011 02:09 pm
¿Lo estás probando en un servidor que soporta PHP?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Sep 2011 02:46 pm
Si, ahora logré que funcione, pero al poner el form dentro de un movieclip deja de funcionar.
Creo que tiene que ver con como se llama a que funcione ese boton.
Alguna idea?

Este es el código en el frame:

Código ActionScript :

enviar = function ()
{
   if (email_txt.text.length && nombre_txt.length && pais_txt.length && email_txt.length && codigo_txt.length && cantidad_txt.length && colores_txt.length && talles_txt.length && observaciones_txt.length)
   {
      if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1)
      {
         form_lv = new LoadVars();
         form_lv.nombre = nombre_txt.text;
         form_lv.pais = pais_txt.text;
         form_lv.email = email_txt.text;
         form_lv.codigo = codigo_txt.text;
         form_lv.cantidad = cantidad_txt.text;
         form_lv.colores = colores_txt.text;
         form_lv.talles = talles_txt.text;
         form_lv.observaciones = observaciones_txt.text;
         form_lv.sendAndLoad("envia.php",form_lv,"POST");
         mensaje_txt.text = "Enviando Mensaje..";
         nombre_txt.text = "";
         email_txt.text = "";
         titulo_txt.text = "";
         form_lv.onLoad = function()
         {
            if (this.estatus == "ok")
            {
               mensaje_txt.text = "Tu mensaje fue enviado...";
               nombre_txt.text = "";
               pais_txt.text = "";
               email_txt.text = "";
               codigo_txt.text = "";
               cantidad_txt.text = "";
               colores_txt.text = "";
               talles_txt.text = "";
               observaciones_txt.text = "";
            }
            else
            {
               mensaje_txt.text = "Problemas con el servidornIntentalo de Nuevo";
            }
         };
      }
      else
      {
         email_txt.text = "Correo Invalido";
      }
   }
   else
   {
      nombre_txt.text = "Dato Necesario";
      pais_txt.text = "Dato Necesario";
      email_txt.text = "Dato Necesario";
      codigo_txt.text = "Dato Necesario";
      cantidad_txt.text = "Dato Necesario";
      colores_txt.text = "Dato Necesario";
      talles_txt.text = "Dato Necesario";
      observaciones_txt.text = "Dato Necesario";
   }
};
  enviar_btn.onRelease = enviar;

Por lucyguedes

13 de clabLevel



Genero:Femenino  

Montevideo

firefox
Citar            
MensajeEscrito el 20 Sep 2011 03:27 pm
El código tiene que estar en el timeline del form, y como usa LoadVars, está correctamente encapsulado, es decir mas allá de donde lo pongas los resultados tienen que venir al mismo lugar. Quizás el cvode no lo tienes en el timeline correcto (tiene que ser el del form)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Sep 2011 03:35 pm
Hola!
el código lo puse en frame donde está el formulario pero sigue sin funcionar.
Me suena a que es algo del movie clip porque el formulario fuera de un movieclip funciona
:( no sé...

Por lucyguedes

13 de clabLevel



Genero:Femenino  

Montevideo

firefox
Citar            
MensajeEscrito el 20 Sep 2011 04:02 pm
Será, mira si entra en la función de envío o si directamente el botón no ejecuta nada

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Sep 2011 04:11 pm
Cuando está fuera del movieclip ejecuta cosas.
Cuando está dentro del movieclip directamente no ejecuta nada.
Por eso me suena a que es algo del movieclip.

Por lucyguedes

13 de clabLevel



Genero:Femenino  

Montevideo

firefox
Citar            
MensajeEscrito el 20 Sep 2011 05:07 pm
Ya lo dijiste, la pregunta es si está entrando o no en la función, si es interno al procesamiento o el botón no ejecuta enviar. Tip> usa algún trace para ver por donde pasa

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Sep 2011 05:47 pm
mmm no sabría darte la respuesta. No sé mucho de flash, pero mira, intenté cambiar la función del botón ENVIAR y le puse cualquier otra función como

on (release){
_root.gotoAndPlay(2);

}

y con eso sí funciona así que supongo es algo del código que no lo pego bien en el frame que corresponde o no sé.
El código lo estoy pegando en el mismo frame donde esta el formulario.

Por lucyguedes

13 de clabLevel



Genero:Femenino  

Montevideo

firefox
Citar            
MensajeEscrito el 20 Sep 2011 06:13 pm
Nop, estas attachando código al botón, para ver si se ejecuta agrega

Código ActionScript :

enviar = function () 
{
   trace("Entrando en enviar !!")
  (..) 


Puedes p[oner mas trace para ver hasta donde llega, en form_lv.onLoad también. Para poder ejecutarlo desde dentro de Flash y ver el panel de output, cambia la ruta al PHP a una absoluta, por ejemplo

form_lv.sendAndLoad("http://tuhost.com/tucarpeta/envia.php",form_lv,"POST");

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.