Bueno, antes que nada aclaro... Estoy usando MX 2004 Professional con su respectivo remoting para AS 2.0, y AMFPHP. Deje el gateway.php que viene con el pack porque fue el unico que me devolvio un texto haciendo un archivo de prueba para ver si funcionaba.
Ahora el problema... Tengo el siguiente AS:
Código :
import mx.remoting.NetServices; import mx.remoting.Connection; //Importamos las clases import mx.managers.PopUpManager; import mx.containers.Window; verificarSesion = new Object(); verificarSesion.sesion_Result = function(respuesta) { trace(respuesta); if (respuesta == "no") { //Creamos la ventana var ventana = PopUpManager.createPopUp(this, Window, true, {contentPath:"login"}, true); } if (respuesta == "si") { loadMovie("paginaacciones/acciones.swf", 50); } }; verificarSesion.onStatus = function(respuesta) { trace(respuesta); }; //Defino la coneccion con AMFPHP mx.remoting.debug.NetDebug.initialize(); NetServices.setDefaultGatewayUrl("http://localhost/flashservices/gateway.php"); conn = NetServices.createGatewayConnection(); serv = conn.getService("sesion", verificarSesion); serv.sesiones(); //Listener para cuando nuestra ventana se haya creado alCrear = Object(); alCrear.complete = function(evento) { ventana.setSize(149.5, 228); ventana.closeButton = true; ventana.title = "-->EPICCO Test<--"; }; //Listener para cuando pulsamos el botón cerrar alCerrar = Object(); alCerrar.click = function(evento) { evento.target.deletePopUp(); }; //Eventos ventana.addEventListener("click", alCerrar); ventana.addEventListener("complete", alCrear);
Y el respectivo servicio php:
Código :
<?php class sesion { function sesion(){ $this->methodTable = array( "sesiones" => array( "description" => "Averigua si hay una sesion iniciada y le avisa a flash para que decida que hacer...", "access" => "remote", "arguments" => array( //Variables ke va a permitir entrar AMF... "hab")//Habilitador de la funcion sesion... ) ); } /*ESTE SERVICIO DE AMFPHP Y FLASH REMOOTING TOOLS, AL SER LLAMADO POR CUALQUIER PELICULA FLASH, RESPONDE CON UN "si" SI SE HA INICIADO UNA SESION, O CON UN "no" SI NO SE HA INICIADO UNA SESION EN PHP*/ function sesiones($hab){ session_start(); if($_SESSION["autentificado"] == "si"){ $mensaje = "si"; } else{ $mensaje = "no"; } return $mensaje; } } ?>
Ahora, como no funcionaba puse el "trace" que esta dentro de "verificarSesion.sesion_Result" para ver que me devolvia AMFPHP, y lo que me devuelve es "[object Object]" WTF? ...
Bueno, si alguien sabe que hice mal apreciaria que me lo diga, por favor...
Bueno, gracias desde ya!!!
Pablo