PB sendAndLoad n'envoi rien

cs_chiktika Messages postés 58 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 23 janvier 2011 - 3 juil. 2008 à 15:22
cs_chiktika Messages postés 58 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 23 janvier 2011 - 7 juil. 2008 à 14:27
Bonjour

voila je pense avoir suivi tous les tutos que j'ai trouvé mais sans résultat : je cherche a envoyer des informations a une page php depuis un swf.
J'ai une fonction qui au clic envoi les infos :

function decJetons() {
    var monEnvoi_lv = new LoadVars();
    var monChargement_lv = new LoadVars();
    // (le _root.pseudo existe bien)
    monEnvoi_lv.pseudo = _root.pseudo;
     
    monChargement_lv.onLoad = function(success) {
        if (success) {
            this.txt_test.text = "success"
        }
    };
    monEnvoi_lv.sendAndLoad("test.php", monChargement_lv, "POST");

}

et mon fichier php :
if(isset($_POST['pseudo '])) {
   echo $_POST['pseudo ']." = pseudo du joueur";
} else {
    echo $_POST['pseudo ']." = pseudo inconnu";
}

Le problème c'est que je n'envoi rien.
J'utilise le flash player 9 et as 2 et wamp.

Quelqu'un voit-il le probleme ??
Avec par avance mes remerciements
Chik

2 réponses

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

j'aurais tendance a revoir un peu la structure du code, j'aime pas trop les fonctions imbriquées les unes dans les autres.
Dans ton cas cela risque aussi de résoudre des problèmes de ciblage this.txt_test.text dans ton script je craint que this face référence à la fonction onLoad et non à ta scene principale.

var monEnvoi_lv = new LoadVars();
var monChargement_lv = new LoadVars();
monChargement_lv.onLoad = function(success) {
        if (success) {
            this.txt_test.text = "success"
        } else {
           this.txt_test.text = "Error"
        }
}
function decJetons() {
    // (le _root.pseudo existe bien)
    monEnvoi_lv.pseudo = _root.pseudo;
    monEnvoi_lv.sendAndLoad("test.php", monChargement_lv, "POST");
}

et pour pouvoir exploiter le retour de php il vaut mieux utiliser un structure &variable=valeur
si tu renvois le pseudo comme nom de variable ce ne sera pas facile à exploiter

if(isset($_POST['pseudo '])) {
    echo "&reponse=pseudo du joueur";
} else {
     echo "&reponse=pseudo inconnu";
}

remplace alors la fonction monChargement_lv.onLoad par

monChargement_lv.onLoad = function(success) {

        if (success) {

            this.txt_test.text = monChargement_lv.reponse;

        } else {

           this.txt_test.text = "Error"

        }

}

@+
0
cs_chiktika Messages postés 58 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 23 janvier 2011
7 juil. 2008 à 14:27
Salut,

Merci pour ta réponse qui m'a permis d'améliorer mon code.

En fait ce que j'avais écrit fonctionnait très bien seulement qd je faisais un echo de ma variable ds php elle ne s'affichait pas, alors que je la renvoyais bien dans flash.
C'est bizarre mais ca marche ....

;)
Merci
@+
0
Rejoignez-nous