IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH 8] Problème récupération variable php - undefined


Sujet :

Flash

  1. #1
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut [FLASH 8] Problème récupération variable php - undefined
    Bonjour,

    J'ai une animation qui envoie des variables à un fichier php, qui ensuite les traitent et les renvoyes. Seulement les valeurs de mes variables qu'il renvoie sont undefined.

    Voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    var events:LoadVars = new LoadVars ();
     
    	if(mois<10) events.mois="0"+mois;
    	else events.mois = mois;
    	events.annee = annee;
     
    events.sendAndLoad("news/events.php",events,"POST");
    events.onLoad = function (sucess){
    	if(sucess){
    		for(var k=1;k<=31;k++) {
    			ejour[k] = this["nbrej"+k];
    		}
    	} else {
    		test.text = "Erreur chargement";
    	}
    }
    Et mes variables sont toutes à undefined. Pourtant mon fichier php me renvoie cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var events:LoadVars = new LoadVars ();
     
    	if(mois<10) events.mois="0"+mois;
    	else events.mois = mois;
    	events.annee = annee;
     
    events.sendAndLoad("news/events.php",events,"POST");
     
    events.onData = function (src) {
    	trace(src);
    		}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    &nbrej1=0&&nbrej2=0&&nbrej3=0&&nbrej4=0&&nbrej5=0&&nbrej6=0&&nbrej7=0&&nbrej8=0&&nbrej9=0&&nbrej10=0&&nbrej11=0&&nbrej12=0&&nbrej13=0&&nbrej14=0&&nbrej15=0&&nbrej16=0&&nbrej17=0&&nbrej18=0&&nbrej19=0&&nbrej20=0&&nbrej21=0&&nbrej22=0&&nbrej23=0&&nbrej24=1&&nbrej25=1&&nbrej26=0&&nbrej27=0&&nbrej28=0&&nbrej29=0&&nbrej30=0&&nbrej31=1&
    Je ne sais pas pourquoi les valeurs sont a undefined ????

    Merci de votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 582
    Points : 218
    Points
    218
    Par défaut
    Premier cas tu affiches sur le onLoad et le 2ème sur onData... c normal?

  3. #3
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    J'avais changé le code entre temps. Il faut mettre onLoad ou onData ???

  4. #4
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Cela ne fonctionne pas non plus. Il me fait la même chose sur que avec onLoad.

  5. #5
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    pour info :

    La fonction onData ce définie ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    LoadVars.prototype.onData = function (src:String) {
        if (src == undefined) {
            this.onLoad(false);
        } else {
            this.decode(src);
            this.loaded = true;
            this.onLoad(true);
        }
    }
    Donc si tu modifie la fonction onData ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LoadVars.prototype.onData = function (src:String) {
             trace(src);
    }
    La fonction onLoad ne serra jamais appelé.

  6. #6
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Vaut mieux garder le onLoad. Pour moi le onData ne sert qu'à controler ce qu'on recoit en mode de test ou à charger autre chose qu'un texte bien formaté.

    @GR_Gio : Qu'est-ce que tu fais là ? Dans quel but ?

  7. #7
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut

    Vaut mieux garder le onLoad. Pour moi le onData ne sert qu'à controler ce qu'on recoit en mode de test ou à charger autre chose qu'un texte bien formaté.
    onData sert sourtout a charger du texte brute(comme le dit la FAQ d'ailleur ). Si tu changes le MIME, il te serras tres utile. (entre nous, Je ne pense pas que son texte soit "bien" formaté ...)

    Donc pour éviter toute surprise, essaie d'envoyer une chaine au format url_encode dans une syntaxe correcte.
    donc au lieu de travailler avec ca :
    "&nbrej1=0&&nbrej2=0&&nbrej3=0&&nbrej4=0&&nbrej5=0&&nbrej6"
    essai deja d'avoir ca :
    "nbrej1=0&nbrej2=0&nbrej3=0&nbrej4=0&nbrej5=0&nbrej6"



    Il faut mettre onLoad ou onData ???
    Pour le savoir, il faut connaitre la difference. ( d'où mon dernier msg )
    Il semblerai que tu souhaite charger des variables, donc je pense, comme l'a dit freegreg, que tu devrai plutot utiliser onLoad et non onData.
    (WouAiï!!! faut utiliser onLoad sinon ca marche pô -j'espere que c'est plus claire comme ca-)



    Je ne sais pas pourquoi les valeurs sont a undefined
    essai ce code .............
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    var events:LoadVars = new LoadVars ();
    	events.jour = "29";
    	events.mois = "03";
    	events.annee = "2007";
     
    	event.onLoad=function(succes:Boolean)
    	{
    		if(succes==true)
    		{
    			trace("nbrej1="+this.nbrej1);
    			// ect...
    		}
    		else
    		{
    			trace("La connection avec le server a echoué");
    		}
    	}
     
    	event.onData = function (src:String)
    	{
    		if (src == undefined)
    		{
    			this.onLoad(false);
    		}
    		 else
    		{
    			trace("src="src);
    			this.decode(src);
    			this.loaded = true;
    			this.onLoad(true);
    		}
    	}
     
    	events.sendAndLoad("news/events.php",events,"POST");
    Si tu reçoit dans ta fenetre de sortie de flash :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    src=nbrej1=0&nbrej2=0&nbrej3=0&nbrej4=0&nbrej5=0&nbrej6
    nbrej1=0
    Tu peu supprimer la fonction onData


    @GR_Gio : Qu'est-ce que fait là ? Dans quel but ?
    Si tu as quelque chose a me dire, dis le ou tais

  8. #8
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    J'ai essayer de faire comme vous m'avez dit mais cela ne fonctionne toujours pas.

    Est-ce que la syntaxe correct est : ????

    J'ai joint mon fichier si vous voulez jetez un coup d'oeil ???

    En tout cas, merci de votre aide.
    Fichiers attachés Fichiers attachés

  9. #9
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Une! Deux! Une! deux! allez on va y arriver ....

    Est-ce que la syntaxe est correct :
    Presque.
    les regle a suivre pour le MIME application/x-www-form-urlencode
    1. les espaces son remplacé par le signe '+'
    2. les caractere non alpha-numeriaque son remplacer par leur valeur hexadecimal precedé par le signe '%'
    3. Les variable son séparé par leur valeur par le signe '='
    4. Les couples variable/valeur sont séparé par le signe '&'

    Maintenant, tu n'a plus d'excuse!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    exemple 1:
    var=valeur
    (Regle 3: les variable sont séparé de leur valeur par le signe '=')
    exemple 2:
    var1=valeur1&var1=valeur1
    (regle 4: les couple variable/valeur son séparé par le signe &)
    tout ca pour dire que tu a le & en trop dans ce que tu nous a montré. ( je te laisse deviner )

    Pour le reste, je ne peu pas t'aider si tu ne me donne pas ce que flash te retourne dans la fenetre de sortie avec le code que je t'ai montré. Mais il y a peut etre des personne qui on acheter flash et qui peuvent t'aider ....
    @+

  10. #10
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Desolé je me suis trompé, il n'y a pas de & à la fin.

  11. #11
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Cela me retourne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbrej1=0&nbrej2=0&nbrej3=0&nbrej4=0&nbrej5=0&nbrej6=0&nbrej7=0&nbrej8=0&nbrej9=0&nbrej10=0&nbrej11=0&nbrej12=0&nbrej13=0&nbrej14=0&nbrej15=0&nbrej16=0&nbrej17=0&nbrej18=0&nbrej19=0&nbrej20=0&nbrej21=0&nbrej22=0&nbrej23=0&nbrej24=1&nbrej25=1&nbrej26=0&nbrej27=0&nbrej28=0&nbrej29=0&nbrej30=0&nbrej31=1

  12. #12
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Pour le reste, je ne peu pas t'aider si tu ne me donne pas ce que flash te retourne dans la fenetre de sortie
    j'avai marqué :
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	event.onLoad=function(succes:Boolean)
    	{
    		if(succes==true)
    		{
    			trace("nbrej1="+this.nbrej1);
    			// ect...
    		}
    		else
    		{
    			trace("La connection avec le server a echoué");
    		}
    	}
    Si tu me donne des résultat retouché par tes soins je vai galérer pour t'aider.

    d'ailleur, y'a une erreur :
    au lieu de Mais tu l'avai vue

  13. #13
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Comment afficher le trace si il est en local, je peux pas afficher le trace sur mon serveur.

    Cela va fausser les données ????

  14. #14
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Modifie cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    events.sendAndLoad("news/events.php",events,"POST");
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    events.sendAndLoad("http://www.mondomain.com/news/events.php",events,"POST");
    Et tu test avec l'ide de flash.


    Citation Envoyé par julien.biedermann
    Cela va fausser les données ????
    Non!


    PS: dans la doc, il y a un exemple qui t'explique assé bien la façon de proséder. Il y a bcp de tuto sur internet sur sendAndLoad(). Ca commence a devenir de l'asisstanat ce post.

  15. #15
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Okay, merci je n'avais pas penser à ca :

    events.sendAndLoad("http://www.mondomain.com/news/events.php",events,"POST");

  16. #16
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Voila, cela me retourne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    src=nbrej1=0&nbrej2=0&nbrej3=0&nbrej4=0&nbrej5=0&nbrej6=0&nbrej7=0&nbrej8=0&nbrej9=0&nbrej10=0&nbrej11=0&nbrej12=0&nbrej13=0&nbrej14=0&nbrej15=0&nbrej16=0&nbrej17=0&nbrej18=0&nbrej19=0&nbrej20=0&nbrej21=0&nbrej22=0&nbrej23=0&nbrej24=1&nbrej25=1&nbrej26=0&nbrej27=0&nbrej28=0&nbrej29=0&nbrej30=0&nbrej31=1

  17. #17
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    il y a quels erreur dans le code que j'ai posté!!!!!!!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    var events:LoadVars = new LoadVars ();
    	events.jour = "29";
    	events.mois = "03";
    	events.annee = "2007";
    
    	events.onLoad=function(succes:Boolean)
    	{
    		if(succes==true)
    		{
    			trace("nbrej1="+this.nbrej1);
    			// ect...
    		}
    		else
    		{
    			trace("La connection avec le server a echoué");
    		}
    	}
    
    	events.onData = function (src:String)
    	{
    		if (src == undefined)
    		{
    			this.onLoad(false);
    		}
    		 else
    		{
    			trace("src="src);
    			this.decode(src);
    			this.loaded = true;
    			this.onLoad(true);
    		}
    	}
    
    	events.sendAndLoad("http://www.domain.com/news/events.php",events,"POST");
    Fait un copier collé de ce code et dans un nouveau document flash, modiffie le nom de domain. et poste ce que t'affiche la fenetre de flash . Merci !!!

    PS: le but est de voir afficher :
    nbrej1=0&nbrej2=0&nbrej3=0 ....
    nbrej1=0

  18. #18
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    events.onLoad=function(succes:Boolean)
    	{
    		if(succes==true)
    		{
    			trace("nbrej1="+this.nbrej1);
    			// ect...
    		}
    		else
    		{
    			trace("La connection avec le server a echoué");
    		}
    	}
    Tu veux que je mette de 1 à 31 ???

  19. #19
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    non, ca ira tres bien comme c'est

  20. #20
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    Mon fichier php est comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    //Création de la connexion à la base
    include ("connexion.php");
     
    $mois=$_POST["mois"];
    $annee=$_POST["annee"];
     
    for($j=1;$j<=31;$j++) {
     
    $jour = $j;
     
    $date = $annee."-".$mois."-".$jour;
     
    //Selection de 5 les news
    $requete = "select * from matchs where matchs_date='$date'";
    $envoi = mysql_query($requete);
     
    $nbre = @mysql_num_rows($envoi);
     
    if($jour==31) {
            $nbrej['$jour'] = $nbre;
            $nbrem['$jour'] .= "nbrej".$jour."=".urlencode(utf8_encode($nbrej['$jour']));
            }else {
    $nbrej['$jour'] = $nbre;
    $nbrem['$jour'] .= "nbrej".$jour."=".urlencode(utf8_encode($nbrej['$jour']))."&";
    }
     
    }
     
    echo $nbrem['$jour'];
     
     
    ?>
    Le jour ne sert donc a rien...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [FLASH 8] Probléme récupération variable PHP
    Par hedgehog dans le forum Flash
    Réponses: 5
    Dernier message: 31/08/2006, 01h28
  2. [PHP-JS] Récupération variable php et Javascript
    Par GarGamel55 dans le forum Langage
    Réponses: 2
    Dernier message: 15/07/2006, 12h49
  3. Problèmes récupération variable
    Par bouchette63 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/06/2006, 11h44
  4. [MySQL] Problème récupération variable pour requête SQL !!
    Par mLk92 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/06/2006, 17h08
  5. [PHP-JS] Problème de variable PHP dans un script JS
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 23h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo