Comunidad de diseño web y desarrollo en internet online

sendAndLoad no envia la variable :S

Citar            
MensajeEscrito el 21 Abr 2007 07:09 pm
Saludos a todos,

Mi problema es el siguiente:

Tengo una galería de imágenes en flash que trabaja con mysql y php. La galería está dividida en albums y cada album tiene una id que servirá para elegir las fotos que lo componen ya que cada foto tiene una id_album que indica a que album pertenecen.

Bien hasta ahi todo ok, la galería las monto a traves de un XML virtual, es decir, un XML creado via php y lo cargo como un XML normal. Dado que este script php necesita la id del album creo en el server un fichero temporal con el valor de dicha variable. Todo esto se resume en el siguiente codigo:

Código :

function cargarGaleria(ID:Number) {
   _root.volver_btn._visible = true;
   //Primero debemos pasarle el album id al fichero temporal.
   temp_lv = new LoadVars();
   trace(ID);
   temp_lv.id = ID;
   temp_lv.sendAndLoad("http://www.xxx.org/dinamico/createmp.php",temp_lv,"POST");
            temp_lv.onLoad = function (){
            trace(this.estatus);
            trace(this.album);
            if (this.estatus == "ok") {
               trace("creado el temp");
               this.importXML = new XML();
               this.importXML.ignoreWhite = true;
               this.importXML.onLoad = function(success) {
                  if (success) {
                     // Puntero al nodo raiz
                     var root = this.firstChild;
                     // Rellenamos la matriz
                     menuA = new Array();
                     for (var i = root.firstChild; i != null; i=i.nextSibling) {
                        menuA[menuA.length] = [i.attributes.name, i.attributes.path, i.attributes.thumb];
                        trace(menuA.length);
                     }
                     //Una vez creado el XML creamos el menu
                     trace("Se carga XML y vamos a por el menu");
                     buildMenu();
                  } else {
                     trace("ERROR cargando xml");
                  }
               };
               this.importXML.load("http://www.xxx.org/dinamico/albumxml.php");
            } else {
               trace("No se puede");
            }
   }
};


El codigo es todo lo que dije arriba y lo tipico de guardar los resultados del XML en un array multidimensional.

createmp.php es el encargado de crear el fichero temporal con la id del album, y es donde radica el problema. Su código es el siguiente:

Código :

<?php
   //Recogemos el id desde el flash.
   if (isset($_POST["id"]))
   {
      //Abrimos el fichero en modo W (crea nuevo o elimina el contenido si ya lo tenia y sobreescribe).
      $ftemp=fopen("temp.txt","w");
      //Escribimos
      fwrite($ftemp,$id);
      //Cerramos
      fclose($ftemp);
      echo "&estatus=ok&";
      echo "&album=$id&";
   }
   ?>


Como verán hay varios trace donde controlo un poco como va el proceso y todo parece ir bien salvo que la galería no me carga las fotos. El problema es que la variable $id, según los del server, el apache dice que esta indefinida en el php. En el segundo echo donde intento ver que id tiene con un trace me sale en blanco.

¿Qué puede fallar? Porque lo mas curioso de todo esto que me estaba funcionando bastante bien desde hace un par de dias,hasta hace unas horas. Los del servidor dicen que no han cambiado nada y ya no se que puede ser.

Muchas gracias, espero puedan ayudarme. :crap: :oops:

Por Lulu

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Abr 2007 08:12 pm
Solucionado, en la linea:

Código :

fwrite($ftemp,$id);


Sustituyo por:

Código :

fwrite($ftemp,$_POST["id"]);


Y todo va bien.

El hecho de que funcionara antes de la otra forma puede deberse a una migración a PHPSuexec (que aún no he mirado bien qué es) que habrá tenido efecto hoy. No se... xD pero weno ya está solucionado ahí queda or si a alguien le sirve de algo.

Saludos.

Por Lulu

11 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.