Foros del Web » Creando para Internet » Flash y Actionscript »

Paso de variables as3 a php y php a as3

Estas en el tema de Paso de variables as3 a php y php a as3 en el foro de Flash y Actionscript en Foros del Web. Buenas intento pasar una variable desde un swf a un archivo php y este a su vez lo pase a otro swf siendo este ultimo ...
  #1 (permalink)  
Antiguo 27/04/2011, 08:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 47
Antigüedad: 13 años, 4 meses
Puntos: 0
De acuerdo Paso de variables as3 a php y php a as3

Buenas intento pasar una variable desde un swf a un archivo php y este a su vez lo pase a otro swf siendo este ultimo el que pinte el contenido de la variable,llevo ya bastante tiempo intentandolo y no funciona mis archivos contienen el siguiente codigo

1er swf:


var peticion:URLRequest = new URLRequest("archivo.php");
var variables:URLVariables = new URLVariables();
variables.var1 = "hola";
peticion.method = URLRequestMethod.POST;
peticion.data = variables;
navigateToURL(peticion, "_self");

archivo php:

<?php
$var1=$_POST['var1'];
?>

.....
<div id="contenedor2">

<param name="movie" value="2ndo.swf?<? echo $var1; ?>" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="swfversion" value="8.0.35.0" />

<param name="expressinstall" value="../Scripts/expressInstall.swf" />
<object type="application/x-shockwave-flash" data="2ndo.swf?<? echo $var1; ?>" width="899" height="688">
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="swfversion" value="8.0.35.0" />
<param name="expressinstall" value="../Scripts/expressInstall.swf" />
</object>
</object>
</div>
</body>
</html>


archivo 2ndoswf:

var loader:URLLoader = new URLLoader();

// specify format as being variables
loader.dataFormat = URLLoaderDataFormat.VARIABLES;

loader.addEventListener(Event.COMPLETE, varsLoaded);

// vars.txt contents: foo=bar&foo2=bar2
loader.load(new URLRequest("descarga.php"));

function varsLoaded (event:Event):void {
info.text=loader.data.ruta;
//trace(loader.data is URLVariables); // true
//trace(loader.data.ruta); // bar
//trace(loader.data.foo2); // bar2
stop();
}
stop();
  #2 (permalink)  
Antiguo 27/04/2011, 10:17
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Paso de variables as3 a php y php a as3

no funciona a partir de cierto punto? o no funciona nada?
  #3 (permalink)  
Antiguo 27/04/2011, 10:18
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Paso de variables as3 a php y php a as3

consigues que el php imprima $var1?
  #4 (permalink)  
Antiguo 27/04/2011, 11:29
 
Fecha de Ingreso: diciembre-2010
Mensajes: 47
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Paso de variables as3 a php y php a as3

Si el php imprime var1
  #5 (permalink)  
Antiguo 27/04/2011, 11:34
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Paso de variables as3 a php y php a as3

me confundí de boton a medias ahora mando lo bueno
  #6 (permalink)  
Antiguo 27/04/2011, 11:56
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Paso de variables as3 a php y php a as3

vale lo que decia, el metodo que conozco yo es un poco rudimentario pero trataré de explicarme

a ver supongamos que quieres cargar un swf con variables desde php

crea una pagina que tenga esto escrito en ella

&lavariable1=115&var2=32

(anotación)
aquí lo importante es la estructura
ampersand-nombre-igual-valor-ampersand-nombre-igual-valor.... y así hasta que lo necesites, cada nombre debe de ser distinto si solo es una variable pues una vez nada mas y vigila los espacios, utiliza barras bajas o guiones para separar y luego los eliminas con flash, todo el churro debe estar sin un espacio

ahora crea un flash nuevo que tenga esto
Código as2:
Ver original
  1. _root.onLoad= function() {
  2.     enviar = new LoadVars();
  3.     enviar.sendAndLoad("http://www.tudominio.com/directorio/pagina.php",enviar,"POST");
  4.                 enviar.onLoad = function() {
  5.             trace(this.lavariable1);
  6.             trace(this.var2);  
  7.        
  8.         }
  9.  
  10. };

en este punto serás capaz de obtener las variables que quieras desde php al menos ya las ves escritas en la salida

el problemas es que pretendes que un swf te mande a otra pagina con la variable precargada ahi se complica un poco el asunto

puedes enviarla mediante get en la url desde el primer flash

en el php imprimirla con el formato que te he comentado ahi arriba y obtenerla desde flash
lo malo es que eso se verá en la página de destino no se si con css se podrá ocultar de algún modo o meter el texto detrás de una imagen, lo ideal de esto es tener una página aparte que te genere las variables pero por la forma en que lo tienes montado veo difícil ese método

a ver si esto te puede hacer avanzar un poco y cuando te quedes pillado de nuevo a ver como andas
  #7 (permalink)  
Antiguo 27/04/2011, 15:01
 
Fecha de Ingreso: diciembre-2010
Mensajes: 47
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Paso de variables as3 a php y php a as3

Muchas gracias por el aporte,loadVars ya lo habia visto por ahi.. pero no es valido en AS3 solo en AS2 por eso no puedo utilizarlo ya que mis swf estan en AS3
  #8 (permalink)  
Antiguo 27/04/2011, 15:22
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Paso de variables as3 a php y php a as3

ah vale, esque pensaba que era as2 con as3 lo tengo aqui pero es una marranada cojida con pinzas que aun tengo que perfilar

esto va mas o menos como lo anterior pero utilizando javascript y ejecutando javascript desde flash, la ventaja de esto es que lo podras imprimir en la pagina sin que se vea y te irá perfecto

esto el php
Código php:
Ver original
  1. <?PHP
  2. $usuario=$_REQUEST['u'];
  3. $album=$_REQUEST['a'];
  4. ?>
  5. <html>
  6. <head>
  7. <script type="text/jscript" language="javascript">
  8.         function saludar(){
  9.             return ("<? echo $album ?>");
  10.         }
  11.         function aduenyar(){
  12.             return ("<? echo $propietario ?>");
  13.         }
  14.         </script>
  15. </head>
  16. <body>
  17. </body>
  18. </html>

esto el as3
Código as3:
Ver original
  1. package{
  2.     import flash.external.ExternalInterface;
  3.     public class main extends MovieClip
  4.     {
  5.         var album=0;
  6.         var propietario=0;
  7.         public function main()
  8.         {
  9.             album = String(ExternalInterface.call( "saludar" ) );
  10.             propietario = String(ExternalInterface.call( "aduenyar" ) );
  11.             trace(album);
  12.             trace(propietario);
  13.         }
  14.     }
  15. }
prueba a ver que tal anda ;)
  #9 (permalink)  
Antiguo 27/04/2011, 15:34
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Paso de variables as3 a php y php a as3

se me olvidaba, el flash con ese as3 tiene que estar en la pagina php del post, bueno y el trace no funcionará desde el ide, prueba añadir un campo de texto e imprimir en el la variable para verlo en el navegador, ya que este metodo si que necesita estar corriendo sobre una página por el tema del javascript

Última edición por juanito1712; 27/04/2011 a las 17:10
  #10 (permalink)  
Antiguo 28/04/2011, 03:27
 
Fecha de Ingreso: diciembre-2010
Mensajes: 47
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Paso de variables as3 a php y php a as3

Buenas muchas gracias por todo aun no funciona pero estoy cerca..

he encontrado la manera de hacerlo con un solo swf y funciona perfecto,pero la cosa se complica cuando intento hacerlo en dos distintos.

<?php
$numero1 = htmlentities($_POST[numero1]);
$numero2 = htmlentities($_POST[numero2]);
$suma = $numero1 + $numero2;
echo "suma=" . $suma;
?>

Actionscript:


import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.sendToURL;

//Almaceno la url que vamos a cargar
var url:String = "http://www.esedeerre.com/ejemplos/as2php/intercambio/sumar.php";

//Creo las variables para enviar y recibir la informacion
var enviar:URLRequest = new URLRequest(url);
var recibir:URLLoader = new URLLoader();

//Creo la variable que va a ir dentro de enviar, con los campos que tiene que recibir el PHP.
//En este caso son numero1 y numero2
var variables:URLVariables = new URLVariables();
variables.numero1 = 7;
variables.numero2 = 10;

//Indico el método por el que se va a enviar la información.
enviar.method = URLRequestMethod.POST;

//Indico que voy a enviar variables dentro de la petición
enviar.data = variables;

//Indico el formato de la información que se va a recibir como respuesta
recibir.dataFormat = URLLoaderDataFormat.VARIABLES;

//Añado listeners a recibir, para un posible error y una respuesta.
recibir.addEventListener(Event.COMPLETE,Respuesta) ;
recibir.addEventListener(IOErrorEvent.IO_ERROR,Hay Error);

//Hago la petición al PHP
recibir.load(enviar);

//Funcion que se ejecuta al recibir una respuesta del PHP
function Respuesta(event:Event){
trace("El resultado es : " + recibir.data.suma);
}

//Función que se ejectuta cuando no se puede cargar el PHP
function HayError(event:IOErrorEvent):void {
trace("Error al cargar la url");
}

stop();
  #11 (permalink)  
Antiguo 29/04/2011, 01:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 47
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Paso de variables as3 a php y php a as3

Por fin consegui que funcione

dejo el codigo por si a alguien le sirve..

php:

<?php
$numero1 = 10;
$numero2 = $numero1 + 2;
$numero3 = $numero1 + $numero2;

echo "numero1=$numero1&numero2=$numero2&numero3=$numero 3";


?>


AS3:

import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.sendToURL;


var req:URLRequest=new URLRequest("http://www.tarot-arcano.com/sumar.php");

var loader:URLLoader = new URLLoader();

loader.dataFormat=URLLoaderDataFormat.VARIABLES;

loader.load(req );

loader.addEventListener( Event.COMPLETE, loadCompleteHandler );



function loadCompleteHandler( e:Event ):void {

var variable:URLVariables=new URLVariables(e.target.data);
// trace (e.target.data)
var numero1=Number(variable.numero1);

var numero2=Number(variable.numero2);

var numero3=Number(variable.numero3);


trace(numero1);
trace(numero2);

trace(numero3);

}
stop();

Gracias por la ayuda!!

Etiquetas: as3, parametros, pasar, php, php-flash, recibir, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:43.