AS3 – Enviar Variables JSON a un PHP

Publicado por Iván Gajate el 3 de noviembre de 2011 en AS3, Flash

Es bastante sencillo, pero hay que tener ciertas precauciones con el PHP.

El envío de variables es similar a cualquier otro envío, salvo que las variables las enviado codificadas en formato JSON con la librería as3corelib. Simplemente ponerla al lado de nuestro .fla y hacer la carga normal.

var req:URLRequest = new URLRequest("http://localhost/leer_variables.php");
req.method = URLRequestMethod.POST;

var usu1:Object = {nombre:"Iván"};
var usu2:Object = {nombre:"Pepe"};
var usu3:Object = {nombre:"Matías"};

var usuarios:Array = [usu1, usu2, usu3];

// Codifico el Array con formato JSON
var json:String = JSON.encode(usuarios);

// Creo las variables del URLRequest
var vars:URLVariables = new URLVariables();
vars.usuarios = json;
req.data = vars;

var loader:URLLoader = new URLLoader();
loader.load(req);

En el PHP se recogen como una variable normal, con la precaución de utilizar stripslashes, pues por defecto nuestro servidor nos truncará las comillas (“)a barra comillas (\”)

<?php
	// Si se tiene magic_quotes_gpc = On en el "php.ini", esta linea es necesaria
	$datos = stripslashes($_POST['usuarios']);
	//
	$json = json_decode($datos, true);
	// Puedo acceder a los datos como cualquier otro Array
	echo('nombre=' . $json[0]['nombre']);
?>

Nota: Hay que subir el ejemplo a un servidor que interprete PHP para poder ver los resultados.

Descargar Ejemplo.

 

Los comentarios están cerrados.