Comunidad de diseño web y desarrollo en internet online

Formulario Flash con PHP: echo del php no es detectado por el flash

Citar            
MensajeEscrito el 22 Dic 2011 09:44 pm
Buen dia, soy casi completamente nuevo en lo que a flash y php respecta. Estuve buscando tutoriales para hacer un formulario y que la informacion sea enviada a un correo electronico con un excel adjunto. No fue tan complicado, he logrado todo esto... pero tengo un problema con la respuesta del PHP hacia el flash... al final no muestra que la informacion ha sido enviada, ni borra el contenido ya enviado, con lo cual hacer spam seria muy sencillo...

les dejo el php y parte del as que controla esto (es as1)...

Código PHP :

<?PHP
$archivo = fopen("formulario.csv" , "w");
if ($archivo) {
//variables que hayamos declarado en la pelicula de flash
$datos="Nombre del autor:,$nombre
+ Su email:,$email
+ Su localidad:,$localidad
+ Su empresa:,$empresa
+ Su Telefono:,$telefono
+ Mensaje:,$consulta";
fputs ($archivo, $datos);
}
echo "formOk";
fclose ($archivo);
?>
<?php
include "libmail.php";
$m= new Mail;
//correo desde el que se enviará
$m->From( "[email protected]" );
//correo al que se enviará. Se puede poner en ambos lugares el mismo correo
$m->To( "[email protected]" );
//el subject del email, será el email que haya escrito el usuario, salvo que lo cambiemos, pon lo que quieras
$m->Subject( "$email" );
//variables que hayamos declarado en la pelicula de flash
$m->Body( "Nombre del autor:
$nombre
Su email:
$email
Su Localidad:
$localidad
Su empresa:
$empresa
Su telefono:
$telefono
Mensaje:
$consulta" );
//Si queremos que el correo se envíe a más cuentas de correo, quitar las barras de comentario y especificar los correos
$m->Cc( "[email protected]");
//$m->Bcc( "alguien_mas@otro_server.com");
$m->Priority(1) ;
$m->Attach( "formulario.csv", "application/vnd.ms-excel", "attachment" );
$m->Send();
?>


y el as1

Código ActionScript :

// objetos loadvars
_global.datosUser = new LoadVars();
_global.respuesta = new LoadVars();
respuesta.onLoad = function() {
   if (respuesta.status == "formOk") {
            _parent.submitForm_mc.avisar("envio correcto");
            formTitles.formulario_mc.submitForm_mc.submit.enabled = true;
            cleanForm ();
         }
      
      else {
         _parent.submitForm_mc.avisar("Fallo en el envío");
         trace ("Error de servidor");
               
                     }
};




no se si he escrito mal la respuesta o como deba escribirla y donde en el php... y bueno, la accion de borrar el formulario solo se da si el php responde

espero puedas ayudarme, saludos.

Por Letherin

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Dic 2011 04:23 am
Probaría ir quitandole complejidad, quizá empezar, en local, para no tener
que subir nada, con modelos de comunicación Flash-php básicos, tomados
de tutoriales de por ahí.

Es ir viendo dónde falla.
A mi ha pasado lo que a ti, pero no recuerdo qué hice para que funcionara XP

Por DiegoVelevu

50 de clabLevel



Genero:Masculino  

Buenos Aires

chrome
Citar            
MensajeEscrito el 26 Dic 2011 07:01 pm
el envio funciona a la perfeccion, incluso adjunta bien el archivo de excel... mi problema es solo 1 linea... la que responde el php al flash...

Código PHP :

echo "formOk";


Código ActionScript :

if (respuesta.status == "formOk") {

            _parent.submitForm_mc.avisar("envio correcto");

            formTitles.formulario_mc.submitForm_mc.submit.enabled = true;

            cleanForm ();

         }


debe ser un error de escritura, he visto distintas formas de escribir el "echo" en el php, pero ninguna me funciona, por eso recurro directamente a uds... saludos.

Por Letherin

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Dic 2011 10:00 pm
Y no podés cambiar de versión de ActionScript?

Me fijé qué método utilizo en una aplicación que tengo en línea funcionando
y uso el clásico sendAndLoad y onLoad (en AS 2)... y carga perfectamente
el echo "ok" del php.

Lo probaste también en línea o sólo en local?
Eso, más de una vez lo vi; que no funciona en local pero sí online.

Por DiegoVelevu

50 de clabLevel



Genero:Masculino  

Buenos Aires

chrome
Citar            
MensajeEscrito el 27 Dic 2011 09:23 pm
lo he probado online y local, en ninguno de los 2 casos funciona...

si me paso a as2 pierdo parte de la animacion, ademas que ya lo probe y de igual forma no funciono.

Por Letherin

2 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Dic 2011 10:07 pm
Podés copiar y pegar las animaciones, o hacerlas pasar por un decompilador
seteando la versión que deseas en la salida... y listo el pollo.

Aunque la solución sea radical; si es la única que hay, no queda otra que tomarla.

Lo más arriesgado. podrías intentar conectar ambos "espacios" flash y el servidor
con Javascript...
Llamáse Ajax -es perfectamente posible hacer esto-, o lo que sea, incluso Node.Js.
Ajax es un javascript que llama a un php y devuelve lo que sea del lado del servidor.

Por DiegoVelevu

50 de clabLevel



Genero:Masculino  

Buenos Aires

chrome
Citar            
MensajeEscrito el 30 Dic 2011 09:46 pm
eh... no es tan facil cuando eres nuevo en este mundo... llevo menos de 1 mes en esto... agradeceria algun otro consejo...

Por Letherin

2 de clabLevel



 

chrome

 

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