Hola, he estado intentando crear un código sencillo (como prueba para un proyecto mas grande) para enviar una variable de flash (AS3) a PHP, y que este me regrese un mensaje dependiendo de si se enviaron datos o una cadena vacía.
Código AS3:
Código:
function abrir(e:Event):void
{
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.sendToURL;
var enviar:URLRequest = new URLRequest("http://localhost/prueba/variablesphp.php");
var recibir:URLLoader = new URLLoader();
var variables:URLVariables = new URLVariables();
variables.texto = caja.text;
enviar.method = URLRequestMethod.POST;
enviar.data = variables;
recibir.dataFormat = URLLoaderDataFormat.VARIABLES;
recibir.addEventListener(Event.COMPLETE,Respuesta);
recibir.addEventListener(IOErrorEvent.IO_ERROR,HayError);
recibir.load(enviar);
function Respuesta(event:Event)
{
trace(recibir.data.aflash);
}
}
boton.addEventListener(MouseEvent.CLICK, abrir);
Código PHP:
<?php
$var = $_POST['texto'];
//$var = $_POST['texto'];
if(isset($var)){
$mensaje = "se ha recibido el mensaje";
}else{
$mensaje = "no se ha recibido mensaje";
}
$vardeenvio = "&aflash=$mensaje&";
//returnString = http_build_query($mensaje,'&');
echo utf8_encode($vardeenvio);
?>
Al clicar el boton (llamado boton) aparece el siguiente error en las salidas de Flash:
Código:
Error: Error #2101: La cadena transmitida a URLVariables.decode() debe ser una cadena de consulta con formato URL codificado y pares nombre/valor.
at Error$/throwError()
at flash.net::URLVariables/decode()
at flash.net::URLVariables()
at flash.net::URLLoader/onComplete()
Si elimino las lineas de funcion y de click del boton (para que se ejecute nada mas cargar la película), me aparece en los errores de compilador el siguiente mensaje:
"Escena 1 1046: No se encontró el tipo o no es una constante en tiempo de compilación: enviar."
Me gustaría saber que estoy haciendo mal, les agradezco su ayuda, he buscado en decenas (literalmente) de foros y post de forosdelweb y no doy con la solución.