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

formulario flash+php

Estas en el tema de formulario flash+php en el foro de Flash y Actionscript en Foros del Web. Buenas tengo un formulario echo en flash y kiero madnar el resultado de las cajas d texto a un php: Tengo las siguientes cajas d ...
  #1 (permalink)  
Antiguo 12/04/2004, 14:43
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
formulario flash+php

Buenas tengo un formulario echo en flash y kiero madnar el resultado de las cajas d texto a un php:

Tengo las siguientes cajas d texto en flash. Nombre,Descripcion,Asunto,Email. En el boton de enviar tengo puesto esto:

on (release) {
Origen = "[email protected]";
getURL ("mail.php", "_blank", "GET");
}

El problema creo q es q no manda las variables de flash a php, en el php tengo puesto:


<html>
<head>
<title>Envio de mail</title>
</head>
<body>


<?

if (($_POST[Descripcion] != "") && ($_POST[Asunto] != "") && ($_POST[Email] != "") && ($_POST[Nombre] != ""))
{
mail('$_POST[Origen]','$_POST[Asunto]','$_POST[Descripcion]','De:'.$_POST[Nombre].' Email:'.$_POST[Email].'\n');
echo "El mensaje se envio correctamente";
}
else
{
echo "Omitio detallar algun campo";
}
?>
</body>
<html>

Lo he probado y no manda nada, como se mandan esas variables q son cajas d texto?
  #2 (permalink)  
Antiguo 12/04/2004, 15:04
 
Fecha de Ingreso: noviembre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
tenes que crear un objeto loadvars y asignarle las variables que queres pasar al php:

var c = new LoadVars();
c.origen = ....
c.nombre = ....
c.descripcion = ....
c.asunto = ....
c.mail = ....

despues llamas al metodo send indicandole el php que recibira los datos:

c.send("mail.php","_self","POST");

tambien podes usar el metodo "sendAndLoad" en vez de "send" para recibir el resultado del envio...

y para saber cuando termino de enviar el mail:

c.onLoad = function() {
....
....
};


espero te sea util...

saludos
  #3 (permalink)  
Antiguo 12/04/2004, 15:10
 
Fecha de Ingreso: noviembre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
otra cosa mas.... para leer la salida del php desde flash deberias usar el sendAndLoad y en el php tenes que poner echo "&resultado=Se envio satisfactoriamente"; por ej.

en el evento onLoad obtenes el resultado mediante this.resultado

saludos
  #4 (permalink)  
Antiguo 12/04/2004, 15:17
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
al poner eso q me dijistes:

var c = new LoadVars();
c.Origen = origen1
c.Nombre = nombre1
c.Descripcion = descripcion1
c.Asunto = asunto1
c.Email = email1

on (release) {
Origen = "[email protected]";
c.send("mail.php","_self","POST");
}

me da el siguiente error:

Escena=Escena 1, Capa=Capa 3, Fotograma=1: Línea 9: La declaración debe aparecer dentro del controlador on/onClipEvent
c.Asunto = asunto

Escena=Escena 1, Capa=Capa 3, Fotograma=1: Línea 10: La declaración debe aparecer dentro del controlador on/onClipEvent
c.Email = email
  #5 (permalink)  
Antiguo 12/04/2004, 15:19
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
perdona lo puse fuera del onclick, y ahroa para q lo reciba y poder tratar con los datos q se han mandado q tengo q ahcer?


echo "&email";

o como se muestra cada uno de los objetos?
  #6 (permalink)  
Antiguo 12/04/2004, 15:20
 
Fecha de Ingreso: noviembre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
te deberia quedar asi:

on (release) {
var c = new LoadVars();
c.Origen = origen1
c.Nombre = nombre1
c.Descripcion = descripcion1
c.Asunto = asunto1
c.Email = email1
}
  #7 (permalink)  
Antiguo 12/04/2004, 15:22
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
ya y lo d:

perdona lo puse fuera del onclick, y ahroa para q lo reciba y poder tratar con los datos q se han mandado q tengo q ahcer?


echo "&email";

o como se muestra cada uno de los objetos?
  #8 (permalink)  
Antiguo 12/04/2004, 15:25
 
Fecha de Ingreso: noviembre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
el php que tenias estaba bien... solo tendrias que modificar las sentencias echo:

echo "&resultado=El mensaje se envio correctamente";
echo "&resultado=Omitio detallar algun campo";

en flash tenes que utilizar el evento:

onLoad=function() {

texto=this.resultado;
}
  #9 (permalink)  
Antiguo 12/04/2004, 15:30
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
ese evento:

onLoad=function() {

texto=this.resultado;
}


dnd tendria q ir? en el boton?
  #10 (permalink)  
Antiguo 12/04/2004, 15:38
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
se k soy un poco torpe pero, lo he probado y parece q no llegan lso datos del flash: tengo puesto ahora mismo en el flash:

on (release) {
var c = new LoadVars();
c.Origen = origen
c.Nombre = nombre
c.Descripcion = descripcion
c.Asunto = asunto
c.Email = email

Origen = "[email protected]";
c.send("mail.php","_self","POST");
onLoad=function() {
texto=this.resultado;
}
}

y en el php:

<html>
<head>
<title>Envio de mail</title>
</head>
<body>


<?

if (($_POST[Descripcion] != "") && ($_POST[Asunto] != "") && ($_POST[Email] != "") && ($_POST[Nombre] != ""))

{
mail('$_POST[Origen]','$_POST[Asunto]','$_POST[Descripcion]','De:'.$_POST[Nombre].' Email:'.$_POST[Email].'\n');
echo "$resultado = El mensaje se envio correctamente";
}
else
{
echo "$resultado = Omitio detallar algun campo";
}
?>
</body>
<html>
  #11 (permalink)  
Antiguo 12/04/2004, 15:41
 
Fecha de Ingreso: noviembre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
el script completo seria:

on (release) {
var c = new LoadVars();
c.Origen = origen1
c.Nombre = nombre1
c.Descripcion = descripcion1
c.Asunto = asunto1
c.Email = email1
c.onLoad=function() {
resultado=this.resultado;
}
c.sendAndLoad("mail.php",c,"POST");
}
  #12 (permalink)  
Antiguo 12/04/2004, 15:52
 
Fecha de Ingreso: noviembre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
un ejemplo en php seria:

<?
if ($HTTP_POST_VARS){
$destinatario = "[email protected]";
$asunto = "Mensaje desde su página web";
$cuerpo = "<html><body>";
$cuerpo .= "Alguien ha enviado un mensaje desde su página web:<br><br>";
$cuerpo .= "<b>Nombre: </b>" . $HTTP_POST_VARS["nombre"] . "<br><br>";
$cuerpo .= "<b>Edad: </b>" . $HTTP_POST_VARS["edad"] . "<br><br>";
$cuerpo .= "<b>Correo Electrónico: </b>" . $HTTP_POST_VARS["correo"] . "<br><br>";
$cuerpo .= "</body></html>";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: Origen <[email protected]>\r\n";

mail($destinatario,$asunto,$cuerpo,$headers) or die ("&resultado=Ocurrio un error al intentar enviar el mail");

echo "&resultado=El mail se envio satisfactoriamente";
}
?>
  #13 (permalink)  
Antiguo 12/04/2004, 15:52
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
te lo puedo mandar a una direccion para k lo mires?
  #14 (permalink)  
Antiguo 12/04/2004, 15:56
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
como me as puesto aki:

on (release) {
var c = new LoadVars();
c.Origen = origen1
c.Nombre = nombre1
c.Descripcion = descripcion1
c.Asunto = asunto1
c.Email = email1
c.onLoad=function() {
resultado=this.resultado;
}
c.sendAndLoad("mail.php",c,"POST");
}

Me da error
  #15 (permalink)  
Antiguo 12/04/2004, 16:07
 
Fecha de Ingreso: noviembre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
te paso una url en la que esta todo muy bien detallado:

ejemplos
  #16 (permalink)  
Antiguo 12/04/2004, 16:20
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 11 meses
Puntos: 0
solo keria saber lo del boton pq en el ejemplo q me has pasado no viene mu ybien explicado
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 22:48.