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

ActionScript 1 & ActionScript 2 Discussion :

php / flash recup variable


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut php / flash recup variable
    Bonjour,
    Je suis dans une impasse, je n’arrive pas a récupérer une variable PHP pour l’afficher dans mon SWF !!
    J’ai un fichier PHP qui ce nomme news.php avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    $titreNewsDB = 'coucou';
    $titreNewsDB = utf8_encode($titreNewsDB);
    echo "&titreNews = \"$titreNewsDB\"";
    ?>
    Quand je fais appel a ce fichier directement dans le navigateur internet explorer ou Firefox cela me renvoi bien ce qu’il faut pour que mon SWF puisse récupérer les données c'est-à-dire :

    &titreNews = " coucou "

    Pour mon fichier SWF à la racine donc sur le root, j’ai un clip qui a pour nom d’occurrence news_mc, a l’intérieur de ce clip plusieurs champ de textes dynamiques, deux en tout un avec le nom d’occurrence newsTitre_txt et l’autre newsTexte_txt. J’ai mis mon code as 2.0 sur la première image clé a l’intérieur de mon clip news_mc dans le même clip que mes champ de texte dynamique donc .

    Voici mon code as2.0 :

    //reception données
    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
    var recepPHP:LoadVars = new LoadVars();
    recepPHP.onLoad = function(success:Boolean) {
    	if (success) {
    		_root.news_mc.newsTitre_txt.html = true;
    		_root.news_mc.newsTitre_txt.htmlText = "<u>"+recepPHP.titreNews+"</u>";
    		_root.news_mc.newsTexte_txt.html = true;
    		_root.news_mc. newsTexte_txt.htmlText = "<i>"+recepPHP.titreNews+"</i>";
    		//verif
    		_root.news_mc.verif_txt.text = "Chargement ok";
    	} else {
    		_root.news_mc.verif_txt.text = "Error loading/parsing LoadVars.";
    	}
    };
    //creation d'un objet date pour tuer le cache navigateur
    var dateCourante:Date = new Date();
    //appel du fichier
    recepPHP.load("php/news.php?noCache="+dateCourante.getTime());
    Je devrai avoir coucou dans mon champ de texte dynamique dont le nom d’occurrence est newsTitre_txt, mais c’est undefined qui apparait.
    C’est bien un problème de variable et non de d’appel du fichier PHP, j’ai créé un champ de texte dynamique avec comme nom d’occurrence verif_txt qui affiche son contenu " appel PHP ok " lorsque ma fonction onLoad est success.

    Pouvez-vous m’aider ? Je suis sur vista intégral, Easy PHP 1.8.0.1, Flash cs3, dreamweaver cs3.

  2. #2
    Membre confirmé Avatar de Iori Yagami
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 107
    Par défaut
    Salut super-momo, en fait j'ai le même problème que toi. Je suis sur PHP 1-8 aussi mais avec Flash 8, pour ton code, je crois que la "&" n'est pas obligatoire dans l'expression suivante :
    echo "&titreNews = \"$titreNewsDB\"";
    donc, supprime la et essais de nouveau.
    Moi, c'est pire, quand je visualise le résultat de " recepPHP.toString()" il me renvoi une chaine similaire à celle ci : titreNews20%=20%coucou20%&OnLoad20%= "etc donc je me suis fait une fonction qui utilise la fonction "unscape" pour nettoyer le résultat de toString() et obtenir le résultat voulu. j'ai pas le code ici, mais si tu veux je l'écrirai plutard. c'est pas trés optimal je sais, mais c'est mieux que de rester planter la, en attendant que quelqu'un nous explique pourquoi cela se provoque.

    cependant, je voulais te demander, si tu as réussi à envoyer des donner à la page PHP, si oui, je serai ravi de voir ça, merci.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut Merci
    Merci beaucoup d'avoir répondu je n'y croyais plus .

    Je vais essaye d'envoyer une variable a mon PHP et je te dis ce qu'il en est, le plus rapidement possible

    Il est vrai que le & n'est pas obligatoire puisqu'il y a une seul variable mais ca ne gène en rien normalement mais je vais essayer

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 22
    Par défaut
    Voici mon essai d'envoyer le contenu d'une variable flash a mon php.

    Voici le code action script 2.0:

    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
    36
    37
    38
    39
    40
    41
     
    //System.useCodepage = true;
    //reception données
    //
    receptionDonnees();
    //
    function receptionDonnees():Void {
    	var recep_php:LoadVars = new LoadVars();
    	//
    	recep_php.onLoad = function(success:Boolean):Void  {
    		if (success) {
    			//
    			newsTitre_txt.html = true;
    			newsTitre_txt.htmlText = "<u>"+this.titre_news+"</u>";
     
    			//verif ok
    			_root.news_mc.verif_txt.html = true;
    			_root.news_mc.verif_txt.wordWrap = true;
    			_root.news_mc.verif_txt.htmlText = recep_php.titre_news+"  <br><br>";
    			_root.news_mc.verif_txt.htmlText += "Chargement du fichier php ok !";
     
    		} else {
     
    			//verif echec
    			_root.news_mc.verif_txt.html = true;
    			_root.news_mc.verif_txt.wordWrap = true;
    			_root.news_mc.verif_txt.htmlText = "Erreure de chargement du fichier php";
    		}
    	};
    	//
    	//envoi de donnée a php
    	var send_lv:LoadVars = new LoadVars();
    	send_lv.pouPHP = "données pour php";
    	//
    	//creation d'un objet date pour tuer le cache navigateur
    	var dateCouranteCache:Date = new Date();
    	//
    	//appel du fichier
    	//recep_php.load("news.php?noCache="+dateCouranteCache.getTime());
    	send_lv.sendAndLoad("news.php?noCache="+dateCouranteCache.getTime(),recep_php,"POST");
    }
    Puis le code php de ma page news.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?
    //--------INITIALISATION DES VARIABLES ENVOYEES PAR FLASH---------
    if(isset($_POST['pouPHP']))  $pouPHP=$_POST['pouPHP']; else $pouPHP="vide";
     
    //affichage texte, a recuperer dans flash.
    //resultat de l'affichage titre_news = coucou
    $titreNewsDB = 'coucou';
    $titreNewsDB = utf8_encode($titreNewsDB);
    echo "titre_news = ".$titreNewsDB."<br /> variable recut de la part de flash = ".$pouPHP;
    ?>
    Voici ce que ma page news.php m'affiche lorsque je l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    titre_news = coucou
    variable recut de la part de flash = vide
    Mon code php ne recupere pas ma variable flash !!!!!!!!!!
    Mon swf m'affiche undefined a la place de coucou !!!!!!!!!!!!

    Pourtant mon fichier news.php est bien trouvé par mon swf car mon message "Chargement du fichier php ok !" de ma verif s'affiche bien lorsque success est true.

  5. #5
    Membre confirmé Avatar de Iori Yagami
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 107
    Par défaut
    Salut!
    Je t'avais dis que j'ai le même problème pour le moment. et je t'avais aussi d'essayer la fonction toString().

    c'est a dire au lieu de faire ça,
    _root.news_mc.verif_txt.htmlText = recep_php.titre_news+" <br><br>";
    fais ça,
    _root.news_mc.verif_txt.htmlText = recep_php.toString()+" <br><br>";
    tu auras quelque chose codée du genre : titre_news20%=20%coucou20%&20%Onload20%=20%5 etc

    tu n'a alors que la decrypter a l'aide de la fonction : unscape.
    pour l'envoi des données à la page php, ça représente encore un problème pour moi.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut
    Salut les gars

    Voilà ce que j'ai trouvé de mieux jusqu'à présent pour envoyer des données à PHP et récupérer le résultat dans Flash.

    Le code Action Script :

    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
     
     
    var phpData:LoadVars = new LoadVars();
    phpData.onLoad = function(ok:Boolean) {
       if(ok)
          {
          if(this.error) != undefined)
             {
             trace("Error : " + this.error);
             } 
          else
             {
             trace("Le résultat : " + phpdata.resultat);
             }
          }
       else
          {
          trace ("Erreur de transmission des données");
          }   
    }
     
    phpData.parametre = "données pour PHP";
    phpData.sendAndLoad("http://..........", phpData, "GET");
    Le code PHP :

    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
     
    <?php
    $parametre = $_GET['parametre'];
     
    if(empty($parametre)
       {
       $resultat = '&error=paramètre manquant&';
       echo $resultat;
       exit();
       }
     
    $resultat='Paramètre reçu : ' . $paramètre' ;
     
    echo '&resultat=' . utf8_encode($resultat) . '&'
    ?>

    Voilà si cela peut vous aider....

  7. #7
    Membre confirmé Avatar de Iori Yagami
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 107
    Par défaut
    Salut
    ça n'a pas marché aussi

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut
    Citation Envoyé par Iori Yagami Voir le message
    Salut
    ça n'a pas marché aussi
    Si si je te garanti que cela marche à 100%. Le problème c'est j'ai fait quelques fautes de frappe en te donnant le code.

    Dans la partie Action Script, change

    trace("Le résultat : " + phpdata.resultat);


    par

    trace("Le résultat : " + phpData.resultat);
    et regardes aussi dans code PHP, change

    if(empty($parametre)

    par

    if(empty($parametre))

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut
    J'ai opublié : à la dernière ligne du PHP, il manque le point virgule. Voilà, vérifies bien tout et je te le répète, CA MARCHE . Si ce n'est pas le cas, c'est qu'il encore des fautes de frappe dan le code.

Discussions similaires

  1. variable de session php<->flash
    Par christophe D dans le forum Flash
    Réponses: 1
    Dernier message: 18/08/2006, 14h47
  2. [PHP-FLASH] Recevoir et organiser les variables php
    Par arnaudrou dans le forum Flash
    Réponses: 6
    Dernier message: 02/08/2006, 11h41
  3. [FLASH MX2004] Passage variable PHP<->Flash
    Par PeZ dans le forum Flash
    Réponses: 4
    Dernier message: 03/04/2006, 14h00
  4. [FLASH MX2004] Variable php vers flash
    Par Rhadamanthe59 dans le forum Flash
    Réponses: 8
    Dernier message: 01/03/2006, 22h14
  5. [FLASH 8] Variable PHP vers clip flash
    Par howie42 dans le forum Flash
    Réponses: 2
    Dernier message: 27/02/2006, 16h43

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