hola, a ver si alguien sabe cómo hacer esto más facil porque me ocurre que para recibir bien variables de la base de datos por medio de mi php, tengo que poner cosas extrañas en el php. Tengo este método para dar de alta un usuario en mi sistema, con su función de evento incorporada:
Código:
public function alta():void{
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, eventoAlta);
var url:String = "http://www.midominio.com/alta.php?nocache=" + new Date().getTime();
var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
//Se le asignan a este objeto las propiedades del usuario.
variables.usuario = this.__usuario;
variables.password = this.__password;
request.data = variables;
request.method = "POST";
loader.load(request);
}
private function eventoAlta(event:Event):void{
var variables:URLVariables = new URLVariables(event.target.data);
trace("El usuario: " + variables.usuario + " ha sido dado de alta.");
}
y mi php guarda el usuario en la base de datos y para comprobar el envío y recibo de variables pues le digo que me devuelva el usuario que ha recibido y aquí es donde están las cosas raras, ya que si pongo un echo como hacia antes (echo &variable=nosequé) pues la variable no la recibe flash, solo la recibe cuando pongo todas las variables en una cadena y pongo una variable de basura delante de la primera que quiero recibir. Fijaos que quiero recibir la variable
usuario pero la primera de la cadena es
filas que no la quiero para nada (en la función eventoAlta de flash solo muestro el usuario). el php es el siguiente:
Código PHP:
include 'conexion.php';
// recibe
$usuario=$HTTP_POST_VARS[usuario];
$password=$HTTP_POST_VARS[password];
$resultado=mysql_query("SELECT ....'",$Connect);
$filas=mysql_num_rows($resultado);
//si hay 0 filas, el usuario no existe y lo grabo
$cadena="";
$cadena=$cadena . "filas=" . $filas;
if ($filas<=0)
{
$altaoperador = mysql_query("INSERT ...) VALUES (...)",$Connect);
$cadena=$cadena . "&usuario=" . $usuario;
$cadena=$cadena . "&abierto=si";
}
else
{
$cadena=$cadena . "&abierto=no";
}
echo $cadena;
Si alguien maneja esto y sabe una forma más simple pues le estaría agradecido, porque no sé si es fallo de php o es que esto tiene que ser asi o qué. Saludos.