côté PHP :
- commence par tester la sortie de ton .php en tapant son adresse,
- vérifie s'il est x-form-url-encoded,
- vérifie s'il est en UTF-8 (optionnel),
côté Flash :
- préfére l'objet LoadVars à loadVariablesNum,
- tu n'as pas utilisé de callback onLoad ou c'est une erreur de copier/coller?
- utilise le booléen de contrôle sur le callback,
- ton html dans ton champ texte est bizarre, vérifie aussi ton champ texte (typo bien embeddée?).
dans la vraie vie, ça ressemble à ça, avec un Delegate pour la résolution des problèmes de scope un peu tarte dans les callbacks :
// PHP - loadData.php
<?php
$URLData = '';
for($i=0 ; $i<10 ; $i++) {
$URLData .= '&data' . $i . '=' .urlencode(utf8_encode(mt_rand(0 , 1000000)));
}
$URLData .= '&data' . $i . '=' .urlencode(utf8_encode('les accents passent parfaitement grâce à cette méthode, ainsi que les espaces et les &.'));
echo $URLData;
?>
// Flash - testLoadVars.fla
import mx.utils.Delegate;
this.stop();
var loadData:LoadVars = new LoadVars;
loadData.onLoad = Delegate.create(this , dataLoaded);
loadData.load('loadData.php');
function dataLoaded(loaded:Boolean):Void {
if(loaded) {
tOutput.htmlText = '--- Données chargées';
for(prop in this.loadData) {
if(typeof(this.loadData[prop]) != 'function') {
tOutput.htmlText += "<p>" + prop + " : " + this.loadData[prop] +"</p>";
}
}
} else {
tOutput.htmlText = '--- Echec lors du chargement des données';
}
}
Tu implémentes tout ça dans une classe qui récupére les données du LoadVars, et parse le tout dans un bô tableau d'objets, et là tu seras un vrai Marine.