Intercambio de datos entre Flash (Actionscript 2.0) y PHP

Intercambio de datos entre Flash (Actionscript 2.0) y PHP

Etiquetas: LoadVars sendAndLoad onLoad

Es una ejemplo muy sencillo: se envían dos numeros desde el Flash a un PHP que los suma y devuelve el resultado, impreso en pantalla por el Flash. Los datos se envían mediante LoadVars y la función sendAndLoad

Por una parte tenemos el archivo PHP con el siguiente código:

  1.  
  2. <?php
  3.     $numero1 = $_POST["numero1"];
  4.     $numero2 = $_POST["numero2"];
  5.     $suma = $numero1 + $numero2;
  6.     echo "suma=" . $suma;
  7. ?>
  8.  

Y por otra, tenemos el Flash:

  1.  
  2. //Creo una variable para enviar los dos numeros que se suman, y otra 
  3. //para recibir la suma
  4. enviaNumeros = new LoadVars();
  5. recibeNumeros = new LoadVars();
  6. //Almaceno los dos numeros en la variable que se va a enviar al PHP
  7. enviaNumeros.numero1 = 7;
  8. enviaNumeros.numero2 = 10;
  9. //Cuando reciba la variable, que imprima el resultado
  10. recibeNumeros.onLoad = function(){
  11. 	trace("La suma es : " + this.suma);
  12. }
  13. //Envio la variable que contiene los dos numeros a la url del PHP, le digo que 
  14. //voy a recibir recibeNumeros de ese PHP y que el metodo es post.
  15. enviaNumeros.sendAndLoad("url del php", recibeNumeros, "post");
  16. stop();
  17.  
Comentarios
    • Autor
    • okiloco
    Probe y me sale: La suma es : undefined
    • Autor
    • okiloco2
    Bueno... el ActionScript esta bien... pero al Php, hay q hacerle unos ajustes, para q funcione bn... hay que quitarle los parentisis y colocarlo entre corchetes solamente y entre comillas
    • Autor
    • okiloco
    asi no funciona: $numero1 = $_POST[numero1]);
    • Autor
    • walter
    Me gustaria saber si no tenes un ejemplo donde cargue loader desde un php que hace una consulta de la direccion de las imagenes en mysql y a su vez se vea una descripcon de la imagen. Gracias
    • Autor
    • loon
    Hola, lo he testeado y funciona solo si se pone en el PHP comillas. Adjunto el código : también tener en cuenta la ruta del archivo .php Gracias por estos ejemplos esedeerre :)
    • Autor
    • loon
    El codigo seria : $numero1 = $_POST["numero1"]; $numero2 = $_POST["numero2"];
    • Autor
    • Bajabizman
    Solo hay que quitar los dos parentesis que cierran de las lineas 3 y 4 ha de haber sido error de dedo..
    • Autor
    • esedeerre
    Gracias por los comentarios, ya está corregido el error.
    • Autor
    • Jose Alberto Martinez
    Amigos de esedeerre le envie al correo una duda que tengo sobre este tutorial con unos samples... ya le paso los codigos aquí para ver quien me ayuda saludos desde República Dominicana... archivo flash import flash.net.FileReference; //Shared Object to save Data to computer---------------- var savedAvatar:SharedObject = SharedObject.getLocal("character"); var avatarExist:Boolean = (savedAvatar.data.coordinates != undefined); if(avatarExist){ loadImage(savedAvatar.data.coordinates[0], savedAvatar.data.coordinates[1], savedAvatar.data.coordinates[2], savedAvatar.data.coordinates[3]); }else{ savedAvatar.data.coordinates = new Array(); } var fileRef:FileReference = new FileReference(); var oListener:Object = new Object(); fileRef.addListener(oListener); oListener.onSelect = function (fileRef:FileReference):Void{ tData.text = "File Name: " + fileRef.name; savedAvatar.data.coordinates[0] = fileRef.name; } oListener.onOpen = function():Void{ tMessage.text = "Staring Upload ..." + newline; } oListener.onProgress = function(fileProg:FileReference, nBytesUploaded :Number, nBytesTotal:Number):Void{ tMessage.text += "Uploading " + nBytesUploaded + " bytes of" + nBytesTotal + newline; } oListener.onComplete = function():Void{ tMessage.text += "File Uploaded! "; loadImage(fileRef.name); savedAvatar.data.coordinates[1] = 0; //x-position savedAvatar.data.coordinates[2] = 0; //y-position savedAvatar.data.coordinates[3] = 100; //scale loadImage(savedAvatar.data.coordinates[0], savedAvatar.data.coordinates[1], savedAvatar.data.coordinates[2], savedAvatar.data.coordinates[3]) } tBrowse.onPress = function(){ browseFiles(); } function browseFiles():Void { fileRef.browse(); } tUpload.onPress = function(){ uploadFile(); } function uploadFile():Void{ fileRef.upload("simplefileupload.php"); } function loadImage(imagename,xpos,ypos,scale){ avatarContainer.avatarHeadOuter.avatarHead.loadMovie(imageName); stats.text = imageName; scaleDown.onPress = function(){ avatarContainer.avatarHeadOuter._xscale -= 5; avatarContainer.avatarHeadOuter._yscale -= 5; savedAvatar.data.coordinates[3] = avatarContainer.avatarHeadOuter._xscale; } scaleUp.onPress = function(){ avatarContainer.avatarHeadOuter._xscale += 5; avatarContainer.avatarHeadOuter._yscale += 5; savedAvatar.data.coordinates[3] = avatarContainer.avatarHeadOuter._xscale; } xplus.onPress = function(){ avatarContainer.avatarHeadOuter._x -= 5; savedAvatar.data.coordinates[1] = avatarContainer.avatarHeadOuter._x; } xminus.onPress = function(){ avatarContainer.avatarHeadOuter._x += 5; savedAvatar.data.coordinates[1] = avatarContainer.avatarHeadOuter._x; } yplus.onPress = function(){ avatarContainer.avatarHeadOuter._y -= 5; savedAvatar.data.coordinates[2] = avatarContainer.avatarHeadOuter._y; } yminus.onPress = function(){ avatarContainer.avatarHeadOuter._y += 5; savedAvatar.data.coordinates[2] = avatarContainer.avatarHeadOuter._y; } }
Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: