URLloader et php

cs_spoutch Messages postés 10 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 5 septembre 2013 - 9 oct. 2008 à 20:04
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 - 10 oct. 2008 à 09:15
AS2 -> AS3 = ARG!!!!!

je m'explique:

Je
cherche a récuper les donné charger par un fichier php dans une base de
donné dans mon flash. Le php affiche par un echo la chaine de caractère
suivante:

NomActu0=nom1&TexteActu0=sdfskljhskdjkssdkjhdskjshsds&DateActu0=08/10/2008&NbAct=0

(j'ai simplifié la bdd pour les essais)

voici mon scipt AS3:

var urlLoader:URLLoader = new URLLoader();   
urlLoader.dataFormat =  URLLoaderDataFormat.VARIABLES;   
var urlRequest:URLRequest = new URLRequest("process.php");   
urlLoader.addEventListener(Event.COMPLETE, donneesChargees);  
urlLoader.load(urlRequest);   
var pouet: String;  
   
  
function donneesChargees(e:Event):void   
{   
     var ACTUALITE:Object = new Object;  
     ACTUALITE["nom"] = new Array;  
   
     for (var i=0; i <= e.target.data.NbAct ; i++)  
     {  
        this.ACTUALITE["nom"][i]= e.target.data["NomActu"+i]  
     }  
     this.gotoAndStop(2);  
      
}   
   
stop();  
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
var urlRequest:URLRequest = new URLRequest("process.php");
urlLoader.addEventListener(Event.COMPLETE, donneesChargees);
urlLoader.load(urlRequest);
var pouet: String;

function donneesChargees(e:Event):void
{
var ACTUALITE:Object = new Object;
ACTUALITE["nom"] = new Array;

for (var i=0; i <= e.target.data.NbAct ; i++)
{
this.ACTUALITE["nom"][i]= e.target.data["NomActu"+i]
}
this.gotoAndStop(2);

}

stop();

a l'image 2, je récupère dans un texte dynamique la valeur de this.ACTUALITE["nom"][0]
Au départ, il n'alais pas a l'image 2, je me disais que c'était parce qu'il ne rentrai pas dans la fonction donneesChargees.
J'ai
remplacé l'objet ACTUALITE par une simple variable, récuperant
e.target.data["NomActu"+0]. cette fois il va bien a l'image deux, mais
la variable ne vaut rien. et si je met une chaine de caractère
quelconque, il ne la retourne pas non plus a l'image 2.
Si a l'image
une, je cherche a récupe la valeur de e.target.data["NomActu"+i] dans
un champ texte a l'interieur de la fonction, le
champ texte ne vaut rien, par contre, si je met une chaine de Caract quelconque, il me l'affiche bien.

DONC!!

pour résumer:

_Si je crée mon objet ACTUALITE dans la fonction donneesChargees, il ne rentre pas dedans.
_dans le cas d'une simple variable, il rentre bien dans la fonction, mais:
impossible de récup la valeur de e.target.data["NomActu"+0] (ou d'une autre variable du php
impossible
de récup la valeur d'une variable a l'interieur de la fonction depuis
une autre image (sachant qu'il va a cette autre image quand les donnes
son charger)

autre indice: si je récupe la valeur de
txt.text=(e.target as URLLoader).data, il me renvoi bien la chaine de C
générer par le php, mais il rajoute des % un peut n'importe ou et
remplace les caractère comme / par des F10 ou des truck comme sa. c'est
normal sa?

voila. c'est grave d'octeur?

1 réponse

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
10 oct. 2008 à 09:15
Salut,

va voir 76730 ce post qui traite du même sujet, tu trouveras les explications completes pour la récupération des variables envoyées depuis php

Autre choses
var ACTUALITE:Object = new Object;  
     ACTUALITE["nom"] = new Array; 

devrait être plutot

var ACTUALITE:Object = new Object () ;  
     ACTUALITE.nom = new Array()

et effectivement, sort ta variable ACTUALITE de ta fonction, comme tu le propose dans ton script, la portée de la variable est limitée à la fonction donneesChargees() et donc non accessible en dehors de la fonction

@+
0
Rejoignez-nous