Home » AIR »Aplicaciones »AS3 »Avanzado »Class »Flash »Php »Tutoriales » Currently Reading:

Cómo conectar una aplicación Flash con una base de datos a través de PHP

diciembre 27, 2013 AIR, Aplicaciones, AS3, Avanzado, Class, Flash, Php, Tutoriales 12 Comments
Cómo conectar una aplicación Flash con una base de datos a través de PHP

En este post mostraré como comunicar una aplicación Flash/AIR con una base de datos MySQL a través de un fichero PHP en el servidor. Para realizar acciones como, por ejemplo, enviar puntuaciones de juegos, visializar rankings o enviar registros.

En la parte de Flash crearemos una clase de Actionscript 3 que realizará el envío de variables a través de las clases URLLoader y URLVariables.

  1. package org.codigoactionscript.data
  2. {
  3. import flash.net.URLRequestMethod;
  4. import flash.net.URLVariables;
  5. import flash.events.Event;
  6. import flash.events.EventDispatcher;
  7. import flash.net.URLLoader;
  8. import flash.net.URLRequest;
  9. //------------------------------------------------------
  10. public class PHPVarsData extends EventDispatcher
  11. {
  12. public static var CARGADO:String = "DATA_CARGADA";
  13. public static var ERROR:String = "DATA_ERROR";
  14. protected var _data:*;
  15. private var __loader:URLLoader = new URLLoader;
  16. private var __request:URLRequest = new URLRequest();
  17. private var __postObject:Object;
  18. private var __variables:URLVariables;
  19. //------------------------------------------------------
  20. public function PHPVarsData(url:String, vars:Object = null)
  21. {
  22. __postObject = vars;
  23. _ini(url);
  24. }
  25. public function get data():*
  26. {
  27. return _data;
  28. }
  29. //------------------------------------------------------
  30. protected function _ini(url:String):void
  31. {
  32. __request.url = url;
  33. __loader.addEventListener(Event.COMPLETE, onLoadComplete);
  34. if (__postObject != null) {
  35. var variables:URLVariables = new URLVariables;
  36. for (var n in __postObject) {
  37. variables[n] = __postObject[n];
  38. }
  39. __request.data = variables;
  40. }
  41. __request.method = URLRequestMethod.POST;
  42. __variables = new URLVariables;
  43. __loader.load(__request);
  44. }
  45. protected function onLoadComplete(e:Event):void
  46. {
  47. try {
  48. __variables = new URLVariables;
  49. __variables.decode(__loader.data);
  50. _data = __variables;
  51. dispatchEvent(new Event(PHPVarsData.CARGADO));
  52. } catch (e:Error) {
  53. dispatchEvent(new Event(PHPVarsData.ERROR));
  54. }
  55. }
  56. }
  57. }

A esta clase le pasaremos como parámetros la URL del archivo PHP a ejecutar, y un objeto con las variables que necesitemos procesar.

La clase extiende de EventDispatcher con lo que lanzaremos un evento cuando los datos se hayan enviado y recibido correctamente.

Por la parte de PHP, crearemos un fichero que conecte con nuestra base de datos y ejecute la consulta SQL.

Para este ejemplo este archivo PHP recibirá por POST una variable “user” con un nombre de usuario y una variable “score” con un valor de puntuación. Al recibir estos datos actualizará una tabla de puntuaciones sumando estos puntos al usuario. Para acabar devolverá la suma total de puntos acumulados.

Descarga los ficheros:

*Debes de estar registrado para ver este contenido. Login | Registro

Compártelo:

Cómo conectar una aplicación Flash con una base de datos a través de PHP
Visto 24.660 veces

Currently there are "12 comments" on this Article:

  1. bismun dice:

    buenas. me viene de perlas todo esto mil gracias. solo una pregunta si no es mucha molestia, esto mismo me serviria para realizar un registro de usuarios en una app para android que estoy haciendo? o tendria que variar cosas? la verdad es que en esta cuestio ando bastante perdido.

  2. admin dice:

    Hola Bismun

    Desde una App de Android (o iOS) puedes hacer peticiones a un servidor (php) para enviar o recibir datos sin problema.

    Lo único que tendrías que añadir a este ejemplo (si quieres mejorar tu app) es que detecte si hay conexión disponible o no, para no enviar peticiones que te devuelvan un error de timeout…

  3. Maximiliano dice:

    No descarga….

  4. Maximiliano dice:

    Como descargo por favor? me interesa mucho, haciendolo no me funciona.

  5. admin dice:

    Hola Maximiliano

    Acabo de comprobar que el enlace es correcto.
    Al darle al enlace tienes que volver a clickar en “PHPVarsData” para descargar el archivo ZIP
    Si sigues teniendo problemas para descargarlo te lo puedo mandar por email ;P

    Saludos

  6. jnthn dice:

    Hola, está genial! (el enlace está bien)

    Por desgracia soy novato y me perdí configurando la base de datos para que funcionara el ejemplo subiendo el php en el servidor :(
    Si pruebo desde flash me da el siguiente error:
    Warning: Source path “/Users/zguillez/Documents/SVN/API/as3/” does not resolve to a valid directory.

    Alguna indicación para la configurar el ejemplo?

    Gracias.

  7. jnthn dice:

    Me daba “undefined” pero ahora funciona perfecto, sólo tenía que eliminar los saltos de línea en el php.

    Muchas gracias.

  8. admin dice:

    @jnthn: El error de path te lo da por la ruta donde el FLA busca las clases.. Debes modificar esa ruta desde el panel de configuración del documento.

  9. aescobar dice:

    Buenas tardes,

    Perdón pero intento descargarme el archivo adjunto y no existe, pueden revisarlo?

    Muchas gracias y muy buen trabajo.

    Saludos,

    Albert Escobar

  10. aescobar dice:

    Perdón, rectifico, clickaba donde no tocaba.

    Sorry,

    Albert Escobar

  11. koental dice:

    Hola
    var data: Object = {
    user: “zguillez”,
    score: 12345
    };

    si quisiera cambiar “zquillez” por el texto de una variable como seria?

  12. admin dice:

    var obj = “zguillez”;

    var data: Object = {
    user: obj,
    score: 12345
    };

Comment on this Article:








Twitter: zguillez

AdvertisementAdvertisementAdvertisementAdvertisement

Recibe las novedades por email

Post destacado

Generar archivos LOG desde PHP

16 ene 2015

A la hora de testear nuestras aplicaciones es muy probable que nos interesa sacar un pequeño informe de navegación o algún tipo de datos en un fichero externo para poder hacer las posteriores comprobaciones. Para ello podemos crear archivos LOG que guarden la información que queramos. Para crear estos ficheros en un servidor haremos uno de PHP, creando un script que genere ese fichero con la información que queramos. El primer paso será crear una clase de PHP generando un fichero con nombre “Log.class.php”. A esta clase le asignaremos una serie de variables algunas de las cuales definiremos desde el …



Map

Ranking

Codigoactionscript.org: 4.65 sobre 5 (106 valoraciones)

twitter-widget.com