Problema de variables entre Flash AS2 y PHP

Tengo un problema con el envío de variables entre Flash y PHP.
Tengo Apache instalado en un Ubuntu, con phpmyadmin, por alguna razón el PHP no me reconoce las variables que Flash envía.
Probé en una Windows con WAMPSERVER, que también correo un Apache 2.2.11, tiene el PHP 5.3.0, Las register globals están off ya que he leído que deben estar así por políticas de seguridad.
Decidí hacer un ejemplo sencillo que de igual manera PHP no reconoce las variables que Flash envía por POST.
Código de Flash
on (release) {
var emisor:LoadVars = new LoadVars();
var receptor:LoadVars = new LoadVars();
emisor.valor = "Esto es un valor a enviar";
emisor.sendAndLoad("script.php",receptor,"POST");
}
He probado tanto con emisor.sendAndLoad como con getURL ("script.php", "_blank", "POST");
El codigo de PHP es el siguiente:
<?php
$recibido = $_POST["valor"];
echo $recibido;
?>
El resultado que da el PHP es: Notice: Undefined index: valor in C:\wamp\www\test\script.php on line 3
Y por supuesto no reconoce la variable valor enviado por POST del flash. No se si tenga que configurar algo en el servidor web de tal forma que PHP reconozca las variables que se envían con POST. He probado el mismo ejemplo con un formulario HTML hacia un PHP y funciona muy bien.
Agradeceré cualquier ayuda que me puedas brindar.
Saludos Luis
<div><span style="font-family: Arial; color: #000066;"><span style="white-space: pre-wrap;">
</span></span></div>

2 Respuestas

Respuesta
1
Vamos por partes:
¿Cómo quieres que te demuestre el resultado? No tienes ningún código que te lo demuestre o no me lo has escrito..
He comprobado tu código y la sintaxis esta correcta, pero te hace falta una linea de respuesta...
O si no necesitas respuesta de éxito o error, que haces con variable enviada, ¿qué hay con ella?
Entonces prueba lo siguiente:
Escriba la linea de respuesta justo después de la linea de
emisor.sendAndLoad("script.php",receptor,"POST");
receptor.onLoad=function(){respuesta=this.resultado;}
y en el codigo php le anades la linea esta:
<?php
$recibido = $_POST["valor"];
echo '&resultado=';
echo $recibido;
?>
Así cuando el php recibe la variable "valor", envía hacia flash su respuesta..
Como la variable va de flash-php o php-flash directamente los registers globals on/off no tiene nada que ver con esto
He hecho como me has dicho, en la pantalla del FLASH he visto  el contenido de &resultado, sin embargo en el script de PHP cuando escribo $ recibido = $_POST ["valor"]; me continua saliendo. 
Notice: Undefined index: valor in C:\wamp\www\test\script.php on line 3
Lo único que quiero hacer en este momento es enviar una variable de Flash a PHP y que PHP despliegue el valor de esa variable en pantalla con un echo. Es solamente para asegurarme que el POST si esta funcionando correctamente.
Gracias por tu tiempo,
Luis
Si el post de php, funciona correctamente, para eso necesitas crear alguna función en php que se ejecute cuando recibe la variable y te la ensena...
De otra manera no vas a verla, sin embargo esta allí..
Pero más fácil para enviar una variable para que la veas solo con asignación de igualidad es enviarle por la barra de location es decir escriba en la barra de navegación esta cadena
tulocalhost../script.php?valor=por_ejemplo_hola
pero en php sin "postearlo" así:
<?php
$recibido = $valor;
echo '&resultado='.$recibido;
?>
Eso ya es el tema de php no de flash
Respuesta
1
El código en flash esta correcto tu error esta en el flash al momento de hacer la impresión de pantalla debería ser algo así:
<?PHP
$recibido = "cualquier cosa que queremos enviar al flash";
echo "nombredelavariable=".$recibido."&";
?>
En el flash solo te falta recibir las varaibles com this["nombredelavariable"]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas