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 3 Discussion :

Récupération de variables PHP en AS3


Sujet :

ActionScript 3

  1. #1
    Débutant

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Points : 120
    Points
    120
    Par défaut Récupération de variables PHP en AS3
    Bonjour,

    Je voudrais dans mon SWF en AS3 récupérer le résultat d'un requete mySql exécutée dans un script PHP.

    Exemple de 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
     
     function getprenom($id)
     { // BEGIN function getprenom 
       //Connexion à la base de donnée
       mysql_connect($serveur,$user,$pwd)or die ("Erreur de connection au serveur de base de données.");
       mysql_select_db($Bdd) or die ("Erreur de connection à la base de donnée.");
       
       $query = " Select * From table1 where id = " . $id;
       
       $result = mysql_query($query);
       $NbTrv = mysql_num_rows($result);
       if ($NbTrv != 0)
       {
        $nom = mysql_result($result,0,"nom");
        $prenom = mysql_result($result,0,"prenom");
       }
       else
       {
        $nom = "nobody";
        $prenom = "nobody";
       }
       $_POST[nom] = $nom;
       $_POST[prenom] = $prenom;    
       echo $nom." ".$prenom;
       mysql_close();
     } 
     
     getprenom(1);
     
    ?>
    Et la fonction derrière le bouton de mon appli flash :

    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
    function BtnSQLOnClick(event:MouseEvent):void
    {
    	// récupération des valeurs des compteurs
    	TextInput(TextInputAction).text = "Avant request...";
    	var request:URLRequest = new URLRequest("http://otop.nutrition.free.fr/flash/index.php");
    	TextInput(TextInputAction).text = "Avant Loader...";
     
    	var loader:URLLoader = new URLLoader();
    	loader.addEventListener(Event.COMPLETE, recupData);
     
    	TextInput(TextInputAction).text = "Avant Load...";
     
        try {loader.load(request);} catch (error:Error) {
    		TextInput(TextInputAction).text = "Impossible de lire le document";
    	}
    	TextInput(TextInputAction).text = "Apres Load...";
     
    	function recupData(evt:Event) {
    		TextInput(TextInputAction).text = "C'est fini de charger...";
     
    		var variables:URLVariables = new URLVariables(loader.data);
    		var Prenom: String = variables.Prenom;
    		var Nom: String = variables.Nom;
    		TextInput(TextInputAction).text = Prenom + " " + Nom;
     
    	}
     
     
    }
    Le problème et que il n'y a jamais qui s'affiche dans mon TextInputAction ...
    Je pense que le problème vient de mon script PHP mais je vois pas d'où.

    Merci pour vos lumières.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Normalement tu devrais envoyer tes variables sous forme de paires nom/valeur, basiquement çà donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '&nom='.$nom.'&prenom='.$prenom;
    Tu peux même utiliser une petite fonction pour mettre mettre en forme les données retournées vers flash :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function envoi($var, $val) { echo '&'.$var.'='.utf8_encode($val); }
     
    envoi('nom', $nom);
    envoi('prenom', $prenom);

  3. #3
    Débutant

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Points : 120
    Points
    120
    Par défaut
    Merci pour ta réponse.

    En effet, lorsque je catch l'erreur j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.

  4. #4
    Débutant

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Points : 120
    Points
    120
    Par défaut
    Bon super !

    La solution :

    index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'nom='.utf8_encode($nom).'&prenom='.utf8_encode($prenom)
    Sans le & au début ...

    Et surtout, dans AS3, le nom des variables est case-sensitive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    variables.Prenom; // ne fonctionne pas
    variables.prenom; // fonctionne
    Merci !

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut pas chez moi... ^^
    Quand plusieurs variables sont renvoyées de Php à flash, avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $titre = "mon titre";
    $soustitre = "mon soustitre";
    $telephone = "11 22 33 44 55";
    $adresse = "rue de la concombre";
    echo 'titre='.utf8_encode($titre).'soustitre='.utf8_encode($soustitre).'telephone='.utf8_encode($telephone).'adresse='.utf8_encode($adresse);
    ?>
    et, en as3 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var varPhp:URLVariables = new URLVariables(loader.data);
    titre.text = varPhp.titre;
    soustitre.text = varPhp.soustitre;
    adresse.text= varPhp.adresse;
    telephone.text = varPhp.telephone;
    Seul le textinput nommé titre dans flash renvoit quelque chose :

    "mon titresoustitre=mon+soustitretelephone=11+22+33+44adresse=rue+de...

    en gros flash n'arrive à séparer que la premiere variable...
    vous voyez le soucis?

  6. #6
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Bonjour,

    il manque juste le caractère '&' entre les variables dans le echo php.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupération des variables php
    Par olfa_bl dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/04/2012, 16h07
  2. récupération de variables php dans un formulaire
    Par xanthos dans le forum Langage
    Réponses: 3
    Dernier message: 22/07/2011, 09h52
  3. recuperation variables php vers AS3 equivalent _root.variable
    Par grafikid dans le forum ActionScript 3
    Réponses: 4
    Dernier message: 09/01/2008, 00h26
  4. [PHP-JS] Récupération de variable php en javascript
    Par akara dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/07/2007, 18h08
  5. [AJAX] Récupération de variable php
    Par akara dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/07/2007, 15h52

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