Comunidad de diseño web y desarrollo en internet online

problema con SendAndLoad en comunicacion Flash-PHP

Citar            
MensajeEscrito el 26 Nov 2007 10:11 am
Hola, no se si este es el post adecuado para hacer esta consulta, si no es asi agradeceria a los moderadores que lo muevan

Cuento con el siguiente codigo, sacado de Clab

Código :

var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();

function enviarForm() {

   envio_lv.nombre = "nombre";
   envio_lv.email = "[email protected]";
   envio_lv.clave = "12345";
   
   envio_lv.sendAndLoad("index.php", recibir_lv, "POST");
}

recibir_lv.onLoad = function(exito) {
   if (exito) 
   {
      trace("ok");
   } else {
      trace (":(");
   }
};


Tengo tambien un boton con el codigo

Código :

on(release)
{
   enviarForm();
}


Como se puede ver se mandan las variables nombre, email y clave a la pagina index.php, la cual la tengo en la misma carpeta alojada que el .swf y el .fla de mi animacion flash

Al ejecutar mi .swf y pulsar el boton se m muestra por pantalla el mensaje "ok", señal de que se han enviado correctamente los datos

En "index.php" tengo el siguiente codigo

Código :

<?php         
            $nombre=$_POST['nombre'];
            $email=$_POST['email'];
            $password=$_POST['clave'];
         
echo $nombre;
echo $email;
echo $password;
   

pero por lo visto mi index.php no es capaz de acceder a las variables del $_POST, y m muestra los mensajes

Notice: Undefined index: nombre in c:\program files\easyphp1-8\www\templ\index.php on line 13
Notice: Undefined index: email in c:\program files\easyphp1-8\www\templ\index.php on line 14
Notice: Undefined index: clave in c:\program files\easyphp1-8\www\templ\index.php on line 15

alguna posible solucion? Gracias x adelantado :)

Por dani9del9

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Abr 2008 08:38 am
Wenas dani9del9, a mi me pasa una cosa similar, y no sé como solucionarlo. Yo lo publiqué en este [url="http://www.cristalab.com/foros/t55270.html"]POST[/url]. Yaq veo que no te respondieron, quizás sea algún fallo que no conoce nadie, que todo esto tenga una estructura que nosotros variamos con algún espacio o algo, pero es que no sé, me parece raro, porque es lo mismo que ami, lo que es la función $_POST no recoje el dato que se le asigna :/.

¿Alquien nos podría ayudar? Muchas gracias gentes!!!

Por miglug

Claber

113 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2008 05:36 pm
Voy a hacer una pregunta tonta, pero que puede ser la base del problema:
Cuando haces la prueba ¿lo haces desde el propio archivo o desde el servidor? Es decir, en la barra de direcciones del explorador ¿aparece "file:///la_ruta_a_tu_archivo" o "http://localhost/la_ruta_a_tu_archivo"? Si es lo primero, ya sabes cuál es el problema. Si es lo segundo, es que hay algún error en el php.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 23 Abr 2008 08:07 pm
muchas gracias por responder tan pronto The Fricky!, pero el problema es que es lo segundo, pues no me aparece file:///... sino http://... y lo jodido es que el código no da error, sin embargo no funciona. Probé a poner paréntesis en vez de corchetes como me dijeron en un sitio, sin comillas como ponía en otro más, en pñoner el campo Var del campo de texto con el mismo nombre de la variable que llevo al archivo PHP, etc... Pero sigue igual, no funciona, es que es peor, no hace nada, y solo con los corchetes y con las comillas no mete un error o aviso, no sé que pasa, no funciona, en fin... fijo que es lo más tonto del mundo y ni lo veo por buscar una respuesta complicada xD, en fin... Sigo en fase de búsqueda de solucionar mi error xD. Muchísimas gracias por respnderme men. Un saludo enorme!! ;)

Por miglug

Claber

113 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Abr 2008 08:12 pm
Bueno, el AS se ve correcto, así que apuesto a que el error está en el PHP ¿Por qué no abres un post en el foro de PHP con tu código para revisarlo?

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Abr 2008 02:07 am
hmmm... bueno... yo uso exactamente la misma técnica desde flash para enviar los datos, pero mi PHP se ve muy distinto...

Código :

<?
$mail="[email protected]";//mail a quien le va a llegar los correos
$origen="Sitio Foto Pic";//Como quieres q diga en el nombre del sender
$correo_from="[email protected]";//como quieres q sea el mail del sender
$subject="Comentario FotoPic";//Como quieres que diga en el subject del mail

$myname="Contacto";

$contenido="

Hay un nuevo comentario en FOTOPIC<br><br>

Nombre: $nombre<br><br>
Correo: $email<br><br>
Telefono: $telefono <br><br>
Comentario: $comentario<br><br>

";


$headers = "MIME-Version: 1.0 \n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: \"".$origen."\" <$correo_from>\n";


mail($mail, "$subject", $contenido,$headers);
echo "mail_send=ok";
?>



Y pues el archivo se llama mail.php y ya

Ahora, también tienes que checar que tu servidor permita el uso de la función mail(); porque si no no sirve

Saludos

Por Stockman

Claber

145 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Abr 2008 08:59 am
Michísimas gracias por responder tn pronto The Fricky! y Stockman :D.

The Fricky!, ya fui al foro de PHP y pregunté mi caso. En cuanto me digan algo pues lo publicaré aquí para que sepais que pasaba y que no le pase a nadie más o al menos quitar la duda del problema ;).

Stockman, muchas gracias por poner tu código, pero tengo una duda. Ya me pusieran el código así una vez, y el detalle es que no entiendo de donde sacas el texto que envías del Flash, pues no usas ni $_POST ni $_REQUEST xDDD, yo este método ya lo probara, pero nada, de todas maneras lo volví a probar y nada, es que es más, no sabe de donde sacar $datos en mi caso y me lo pone tal cual le pongo "$datos", no lo cambia por nada xD. En fin...

Muchísimas gracias gentes, de verdad!!! ;) UN SALUDO ENORME!!! :D

Por miglug

Claber

113 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Abr 2008 06:04 pm
La cosa con el código de Stock man es que él no solicita datos externos en su php, todos los datos están dentro del mismo archivo, por eso no usa $_POST o algún otro método para recibir datos.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Abr 2008 07:20 pm
Sasto... como dice The Fricky no solicito datos externos, todo lo envío con Flash con el método sendAndLoad y nada más verificas que las variables del objeto y las variables del PHP sean iguales...

Con eso debe funcionar... espero te sirva :D

Suerte

Por Stockman

Claber

145 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2008 09:42 am
wenas gentes!!! Muchas gracias por responder stockman y The Fricky! Perdonad por tardar en responder, pero estuve currando. El tema es que lo que escriba en el campo de texto del Flash quiero que aparesca como una variable en el PHP para así editar el archivo TXT, pero no funciona. El problema grabe ya es que estube con dos amigos mios y miramos el PHP, uno es licenciado en la carrera de informática y ya tiene hecho alguna web en PHP, aunque no de AS aunque algo sabe, por tanto chana lo suyo, y el otro chana tb bastante aunque no es informático como el primero, y lo jodido es que el PHP está wen, el fallo está en el ActionScript! En fin... Me está liando tanto esto que no sé... Lo repito una y otra ves y siempre caigo en lo mismo, no sé gentes!! Se os ocurre algo?

Muchas gracias por todo gentes!!! de verdad!!! Nos vemos!!! A ver si me podéis ayudar. Xaus... ;)

Por miglug

Claber

113 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Jul 2008 06:33 pm
Has utilizado la función uft8_decode.
Es probable que te funcione.

$nombre=utf8_decode($_POST["nombre"]);
$email=utf8_decode($_POST["email"]);
$cuerpo=utf8_decode($_POST["cuerpo"]);

Por Nesuki

1 de clabLevel



 

msie7
Citar            
MensajeEscrito el 05 Dic 2008 09:02 pm
HOLA QUE TAL ME LLAMO: MARCEL Y SOY DE PERU, OJALA QUE ESTO TE AYUDE Y BUENO PASO MUCHO TIEMPO DESDE TU PREGUNTA PERO OJALA TE SIRVA ;) EXITOS MEN SIGUE ESTUDIANDO ;) =)

PDTA. CORRIJO TU CODIGO AHI MISMO!!!!!!


[quote="dani9del9"]Hola, no se si este es el post adecuado para hacer esta consulta, si no es asi agradeceria a los moderadores que lo muevan

Cuento con el siguiente codigo, sacado de Clab

//-----------------------------------------------------------------------------------------------------------------------------
var envio:LoadVars = new LoadVars();

function enviarForm()
{
envio.nombre = "nombre";
envio.email = "[email protected]";
envio.clave = "12345";

envio.sendAndLoad("index.php", envio, "POST");
}

envio.onLoad = function()
{
if (this.exito=="ok")
{
trace("datos enviados.");
//datos recibidos
trace("nombre: "+this.nombre);
trace("email: "+this.email);
trace("clave: "+this.clave);

}
else
{
trace ("nop pasa naranja :(");
}
}
//-----------------------------------------------------------------------------------------------------------------------------

Tengo tambien un boton con el codigo

//-----------------------------------------------------------------------------------------------------------------------------
on(release)
{
enviarForm();
}
//-----------------------------------------------------------------------------------------------------------------------------

Como se puede ver se mandan las variables nombre, email y clave a la pagina index.php, la cual la tengo en la misma carpeta alojada que el .swf y el .fla de mi animacion flash


En "index.php" tengo el siguiente codigo
//-----------------------------------------------------------------------------------------------------------------------------

<?php
$nombre=$_POST['nombre'];
$email=$_POST['email'];
$password=$_POST['clave'];

echo ("&$nombre&");
echo ("&$email&");
echo ("&$password&");
//-----------------------------------------------------------------------------------------------------------------------------



bueno mas exitos!!!!!! y te dejo mi correo por si necesitas ayuda : [email protected]

Marcel Rojas

Por SITI

1 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 05 Nov 2009 05:28 pm
hola buenas yo tenia el mismo problema, intente seguir el tutorial pero no me funcionaba la aplicacion. comprobé las rutas, modifiqué el codigo muchas veces (como buen novatillo xD), y estuve buscando muchas respuestas en diferentes foros. al final, aunque no del todo porque aun me tengo que informar de algunas cosas, pude conseguir algo util mezclando el codigo del tutorial con una posible solucion que nos ofrece el amigo del ultimo post. lo que hice fue usar el codigo del tutorial pero con un solo objeto LoadVars. Al final la web que esta colgada funciona, lo que me falta ahora es conseguir incluir la informacion del remitente (con headers : From:, Re-ply y eso). Bueno el tema yo creo que esta en el intercambio de informacion entre el archivo flash y el PHP.

Bueno aqui os dejo los codigos para que los probeis si quereis y por si os ayuda a hallar una solucion. Ya se que este tema esta un poco abandonado pero espero que os sirva


-----Flash - Codigo del boton. (ActionScript 2.0)

on(release) {
_parent.enviarMail();
}

//es curioso y no se porque pero si no pongo _parent no funciona. Quiza si la funcion fuera publica...


-----Flash - Codigo fotograma 1 pelicula principal. (ActionScript 2.0)

var enviar_lv:LoadVars = new LoadVars();

function enviarMail() {
enviar_lv.para = para_txt.text;
enviar_lv.asunto = asunto_txt.text;
enviar_lv.mensaje = mensaje_txt.text;

enviar_lv.sendAndLoad("enviar.php", enviar_lv, "POST");
}

enviar_lv.onLoad = function(exito)
{
if (exito)
{
para_txt.text = "Mensaje Enviado";

//trace("datos enviados.");

//trace("nombre: "+this.para);
//trace("email: "+this.asunto);
//trace("clave: "+this.mensaje);
//estas lineas(comentarios) de arriba son para probar si la película recibe los datos desde el PHP

}
else
{
para_txt.text = "Mensaje NO Enviado";

}
}

// La solucion la encontré cuando utilicé sólo un objeto LoadVars para todo y cambie el codigo del post
// anterior de la siguiente manera:

-----En vez de utilizar el codigo sugerido por Siti, que no me funciono pero me salvó al final, (este):

enviar_lv.onLoad = function()
{
if (this.exito=="ok")
{
trace("datos enviados.");
//datos recibidos
trace("nombre: "+this.para);
trace("email: "+this.asunto);
trace("clave: "+this.mensaje);

}
else
{
trace ("nop pasa naranja ");
}
}


-----Aunque no utilice este codigo si que utilice uno muy parecido que lo teneis arriba en el codigo del primer fotograma de la pelicula en flash. Y lo que cambié es que en vez de utilizar this.exito=="ok" como comparacion para el IF, lo que puse fue el codigo del tutorial http://www.cristalab.com/tutoriales/enviar-correo-electronico-en-flash-usando-loadvars-c7l/ que sugiere utilizar simplemente IF(exito) {


-----Por ultimo este es el codigo del archivo enviar.php:

<?php

$para = $_POST['para'];
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];

mail($para, $asunto, $mensaje);

echo ("$para");
echo ("$asunto");
echo ("$mensaje");

?>

// que efectivamente me devuelve las variables a Flash.

Bueno espero haber servido de ayuda para alguien. Y gracias a todos los otros posteadores.

Por izhack

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Ene 2011 10:13 am
//en Flahs en el fotograma 1
//solo escribe los campos que ocupes
function enviarMail() {
var envio_lv:LoadVars = new LoadVars();
var recibir_lv:LoadVars = new LoadVars();
//variables que seran envia el
envio_lv.varsize = varsize1;
envio_lv.vardate = vardate2;
envio_lv.vartime = vartime3;
envio_lv.varname = varname4;
envio_lv.varphone = varphone5;
envio_lv.varemail = varemail6;
envio_lv.varnotes = varnotes7;
//Enviamos las variables y recibimos confirmacion
envio_lv.sendAndLoad(url, recibir_lv, "POST");
//Procesa los datos recibidos del servidor
recibir_lv.onLoad = function(success) {
if (success) {
//permite recibir codigo html
estado_txt.html = true;
estado_txt.htmlText = this.estado;
} else {
//Muestra el mensage de error
estado_txt.text = "Error";
}
}
------------------------------
//en el boton de tu formulario

on (release) {
estado_txt.text = "Sending ..";
enviarMail();
}


----------------------------
//en php
//solo escribe los campos que ocupaste en
flash

<?php
$size = $_POST["varsize"];
$date = $_POST["vardate"];
$time = $_POST["vartime"];
$name = $_POST["varname"];
$phone = $_POST["varphone"];
$email = $_POST["varemail"];
$notes = $_POST["varnotes"];
$client_ip = $_SERVER['REMOTE_ADDR'];



$sendTo = 'tu_Email' . ', '; // a las direcciones que seran enviadas
$sendTo .= '[email protected]';


$subject = "Reservation request";



$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$headers .= "From: " . $name;
$headers .= "<" . $email . ">\r\n";
$headers .= "Reply-To: " . $email

mail($sendTo, $subject, $message, $headers);
echo "&estado=Mensage enviado :D";
?>

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 30 Ene 2011 10:22 am
Este es un post del 2007 X_X Fíjate la fecha antes de postear.

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome

 

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