En el documento flash el código es este:
import flash.net.*;
import flash.events.*;
function enviar():void {
var req:URLRequest=new URLRequest("enviar_email.php");
req.method=URLRequestMethod.POST;
var vars:URLVariables=new URLVariables;
vars.email=email_txt.text;
vars.nombre=nombre_txt.text;
vars.texto=texto_txt.text;
vars.estado="";
req.data=vars;
var ldr:URLLoader=new URLLoader();
ldr.load(req);
ldr.addEventListener(Event.COMPLETE,completado);
}
function completado(event:Event) {
var retVars:URLVariables = new URLVariables(event.target.data);
estado_txt.text=retVars.estado;
}
enviar_btn.addEventListener(MouseEvent.CLICK,envi);
function envi(event:MouseEvent) {
enviar();
}
Luego por otro lado tengo el enviar_email.php:
<?php
$destinatario="[email protected]";
$cabeceras="MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
$cabeceras.="From: {$_POST['nombre']}<{$de}>\r\n";
$cabeceras.="Reply-To: {$_POST['email']}\r\n";
$asunto="Contactar";
$cuerpo=' Ha recibido un email de '.$_POST['nombre'].' ( '.$_POST['email'].' ) con el siguiente contenido:';
$cuerpo.='<br>'.$_POST['texto'].'<br>';
$de=$_POST['email'];
if(mail($destinatario, $asunto, $cuerpo,$cabeceras)){
echo utf8_encode('&estado=enviado');
}else{
echo utf8_encode('&estado=no_enviado');
}
?>
El php devuelve la variable &estado=enviado si el correo se envia, pero no consigo de ninguna manera mostrar en un campo de texto dinámico que sería estado_txt que ha sido enviado.
Lo he puesto de esta manera :
function completado(event:Event) {
var retVars:URLVariables = new URLVariables(event.target.data);
estado_txt.text=retVars.estado;
}
que lo encontre en un ejemplo de una página pero en el campo de texto no consigo que me lo coga no se que puede estar fallando .
Bueno este es mi problemilla como mostrar en mi swf la variable que devuelve el php.
Saludos
