Comunidad de diseño web y desarrollo en internet online

No ejecuta el archivo php de correo

Citar            
MensajeEscrito el 13 Jul 2008 12:57 pm
Buenas, espero que alguien pueda ayudarme.
Tengo una web que entregar en una semana y llevo esta última semana intentando hacer que funcione el correo desde mi archivo.swf.
Me he repasado el "tuto" de Freddi al respecto y lo tengo todo bien, he estado en diferentes sitios buscando el posible error pero como siempre nadie se acerca a la ayuda y contenidos de Cristalab.

Mi problema es que si ejecuto directamente el php desde la barra de direcciones, me llega el mail sin problemas (con caracteres especiales y todo), pero si lo llamo desde mi archivo flash no se ejecuta el php.

He ido utilizando la función trace() para ver por donde pasa en cada momento y después del "sendAndLoad" también pongo la función trace(), y así compruebo que este método de "LoadVars" también se ejecuta.

He pensado, puede ser que no llegue a ver el archivo.php, así que lo he cambiado una carpeta, y he modificado el .swf para que vaya a esta carpeta, pero nada.

La web está hecha totalmente en Flash, estoy cargando imagenes desde un XML sin problemas, y he utilizado el método send AndLoad de LoadVars en otras webs y me ha funcionado, desgraciadamente no tendo acceso ya a estas páginas con lo que no puedo recuperar el código.

Posteo el código por si alguien se ha encontrado con algo parecido.

Comentar que el código lo tengo en el primer fotograma de clip que cargo con AttachMovie, en la _root.

Flash:

enviar = function ()
{
var envio_lv:LoadVars = new LoadVars();
var recibo_lv:LoadVars = new LoadVars();
envio_lv.nombre = "pepe";
envio_lv.cuerpo = "arrikitaun";
trace("antes de sendandload");
envio_lv.sendAndLoad("correo/prueba2.php", recibo_lv, "POST");
//por aquí pasa
info_txt.text = "Enviando datos otra vez...";
recibo_lv.onLoad = function(exito)
{
if (exito)
{
//estado es lo que devuelve el php, pero no llega a devolverlo
info_txt.text = this.estado;
} else
{
//PROBLEMAS en el envio del mensaje
info_txt.text = "An error has occurred. Please try again later. Thank you.";
}
};
};


Y este es el archivo prueba2.php

<?php
$mail="micorreo@este_es.com";
$subject="Petición de información de \"".$nombre."\"";
//creo el cuerpo del mensaje con los checkeds enviados
$contenido="El Sr. o Entidad desea informarse acerca de:\n\n";
//AÑADO EL CUERPO DEL MENSAJE
$contenido.=$cuerpo;
//AÑADO LAS CABECERAS DEL MAIL
$header = "From:".$mail."\nReply-To:".$mail."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mail, $subject, $contenido, $header);
//devuelvo el OK a flash
echo "estado=ok";
?>

Tengo entendido que si manejas el mismo nombre de variables en el objeto LadVars que en el archivo PHP, no necesitas comprobar que existan en el PHP así como recibirlas mediante $_POST.
El método sendAndLoad empaqueta las variables cuando utilizas "POST" y PHP las recibe sin problemas.

Gracias de antemano y espero que me puedan ayudar

Por Nesuki

1 de clabLevel



 

msie7
Citar            
MensajeEscrito el 13 Jul 2008 04:28 pm
He seguido realizando pruebas, y he confeccionado un formulario con 3 textbuttons y un button.
He utilizado el mismo fichero PHP y me llegan los mails desde el flash, pero en el flash original no me llegan.

Creo que puede ser un problema de niveles, o algo así, pero yo no los utilizo, las variables LoadVars las creo dinámicamente en el momento de presionar el botón de envío, y los "trace" me dicen que pasa por ahí, pero no se comunica con el PHP.

No sé que pueda estar pasando, realmente es complicado ver qué pasa, si alguien me echa una mano se lo agradeceré.

Gracias.

Por Nesuki

1 de clabLevel



 

msie7

 

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