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

Flex Discussion :

Récupérer variable POST sous Flex


Sujet :

Flex

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 25
    Points
    25
    Par défaut Récupérer variable POST sous Flex
    Bonjour,
    Etant un newbee en actionScript j'ai vraiment besoin d'aide
    Je veux que mon utilisateur insère sous Flex des pourcentages qui seront transmis à une fonction php qui traitera avec ces pourcentages mes BDD

    Alors je me suis inspiré de ce code-çi

    Fichier test.mxml (src/text.mxml)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    applicationComplete="init()"
    height="198" width="264" viewSourceURL="srcview/index.html">
    <mx:Script source="test.as" />
    <mx:TextArea x="52" y="96" height="74" id="zoneTexte"/>
    <mx:Button x="61" y="66" label="Appel du fichier php" id="btn" click="bouton()"/>
    <mx:TextInput x="79.5" y="36" id="textInput" width="99.5"/>
    <mx:Text x="79" y="10" text="Saisir un texte" width="100" />
    </mx:Application>
    Fichier test.as (src/test.as)

    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
    42
     
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.net.URLVariables;
     
    public var variables:URLVariables;
    public var loader:URLLoader;
    public var request:URLRequest;
     
    public function init():void{
    variables = new URLVariables();
     
    request= new URLRequest('test.php');
    request.method='POST';
     
    loader = new URLLoader();
    loader.addEventListener(Event.COMPLETE,finChargement);
    loader.addEventListener(IOErrorEvent.IO_ERROR,erreur);
    }
     
    public function bouton():void{
    if(''!==textInput.text){
    variables.demande = textInput.text;
    request.data=variables;
    loader.load(request);
    }else{
    zoneTexte.text='Veuillez saisir un texte au dessus';
    }
     
    }
     
    public function finChargement(e:Event):void{
    variables.verif='';
    variables.decode(e.target.data);
    zoneTexte.text;
    zoneTexte.text=variables.verif;
    }
    public function erreur(e:Event):void{
     
    }

    Fichier test.php (src/test.php)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    if(!empty($_POST['demande'])){
        $var=$_POST['demande'];
        echo "verif=Variable envoyee par \$POST['demande']=$var";
    }
    ?>
    Alors je voudrai quatres variables POST mais je ne sais pas quoi modifier dans ce code...

    Ah oui dans mon code test.as et test.php , j'ai plusieurs autres fonctions

    Alors j'ai modifié comme cela mais ça ne marche pas :

    Fichier test2.as (src/test.as)

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.net.URLVariables;
     
    public var variables1:URLVariables;
    public var variables2:URLVariables;
    public var variables3:URLVariables;
    public var variables4:URLVariables;
     
     
    public var loader1:URLLoader;
    public var loader2:URLLoader;
    public var loader3:URLLoader;
    public var loader4:URLLoader;
     
    public var request1:URLRequest;
    public var request2:URLRequest;
    public var request3:URLRequest;
    public var request4:URLRequest;
     
    public function init():void{
    variable1 = new URLVariables();
    variable2 = new URLVariables();
    variable3 = new URLVariables();
    variable4 = new URLVariables();
     
     
    request1= new URLRequest('test.php');
    request2= new URLRequest('test.php');
    request3= new URLRequest('test.php');
    request4= new URLRequest('test.php');
     
     
    request1.method='POST';
    request2.method='POST';
    request3.method='POST';
    request4.method='POST';
     
    loader1 = new URLLoader();
    loader2 = new URLLoader();
    loader3 = new URLLoader();
    loader4 = new URLLoader();
     
    loader1.addEventListener(Event.COMPLETE,finChargement);
    loader2.addEventListener(Event.COMPLETE,finChargement);
    loader3.addEventListener(Event.COMPLETE,finChargement);
    loader4.addEventListener(Event.COMPLETE,finChargement);
     
    loader1.addEventListener(IOErrorEvent.IO_ERROR,erreur);
    loader2.addEventListener(IOErrorEvent.IO_ERROR,erreur);
    loader3.addEventListener(IOErrorEvent.IO_ERROR,erreur);
    loader4.addEventListener(IOErrorEvent.IO_ERROR,erreur);
     
    }
     
    public function bouton(PercP1.text,PercP2.text,PercP3.text,PercP4.text):void{
    if((''!==PercP1.text) && (''!==PercP2.text) && (''!==PercP3.text) && (''!==PercP4.text)) {
    variable1.demande = PercP1.text;
    variable2.demande = PercP2.text;
    variable3.demande = PercP3.text;
    variable4.demande = PercP4.text;
     
     
    request1.data=variable1;
    request2.data=variable2;
    request3.data=variable3;
    request4.data=variable4;
     
    loader1.load(request1);
    loader2.load(request2);
    loader3.load(request3);
    loader4.load(request4);
     
    }
     
    }
     
    public function finChargement(e:Event):void{
    variable1.verif='';
    variable2.verif='';
    variable3.verif='';
    variable4.verif='';
     
    variable1.decode(e.target.data);
    variable2.decode(e.target.data);
    variable3.decode(e.target.data);
    variable4.decode(e.target.data);
     
     
    }
    public function erreur(e:Event):void{
     
    }
    Fichier test.mxml (src/text.mxml)

    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    applicationComplete="init()"
    height="198" width="264" viewSourceURL="srcview/index.html">
    <mx:Script source="test.as" />
    <mx:TextArea x="52" y="96" height="74" id="zoneTexte"/>
    <mx:Button x="61" y="66" label="Appel du fichier php" id="btn" click="bouton()"/>
    <mx:TextInput x="79.5" y="36" id="PercP1" width="99.5"/>
    <mx:TextInput x="79.5" y="46" id="PercP2" width="99.5"/>
    <mx:TextInput x="79.5" y="56" id="PercP3" width="99.5"/>
    <mx:TextInput x="79.5" y="66" id="PercP4" width="99.5"/>
     
    <mx:Text x="79" y="10" text="Saisir un texte" width="100" />
    </mx:Application>
    et enfin mon fichier test.php qui a été modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    function traitement_final($_POST['demande1'],$_POST['demande2'],$_POST['demande3'],$_POST['demande4']){
    if(!empty($_POST['demande1']) AND !empty($_POST['demande2'])  AND !empty($_POST['demande3'])  AND !empty($_POST['demande4']) 
    {
     
    $var1=$_POST['demande1'];
    $var1=$_POST['demande2'];
    $var1=$_POST['demande3'];
    $var1=$_POST['demande4'];
     
    La suite utilise ces pourcentages pour traiter mes BDD...
    Alors désolé pour la longueur de mon post mais je voudrai seulement savoir où sont mes erreurs dans mon fichier test.as et pourquoi quand je fais fonctionner ma fonction traitement_final, amfPHP me sort cette erreur là "expecting "&" or "T_VARIABLE" ...

    Merci beaucoup!

  2. #2
    Membre averti Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Points : 310
    Points
    310
    Par défaut
    Bonjour, pour poster plusieurs variables, j'imagine et je pense que plein de tuto te donnerons une solution, maintenant pour faire ce que tu veux à mon avis, il faut decomposé ton probleme en deux partie

    Partie Flex :

    fonction buildVariables : elle a pour but de construire l'ensemble des datas que tu veux ^passer coté serveur tu lui passe en paramtre la reference de ton urlVariables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    /**
     * preparation des données à envoyer coté serveur
     */ 
    private function buildVariables(dataToSend: URLVariables):void
    {
         dataToSend.demande1 = "tadonné1"
         dataToSend.demande2 = "tadonné2"
         dataToSend.demande3 = "tadonné3"
         dataToSend.demande4 = "tadonné4"
    }

    création de l'objet qui va te permettre d'envoyer tes 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
    private function sendRequest():void
    {
      // péparation des données
      var variables:URLVariables = new URLVariables();
      buildVariables(variables);      
     
    var request:URLRequest = new URLRequest();
    request.url = "url de ton services"
    request.data = variables
     
    // Create the loader and transmit the request
    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, onServerResponse);
    loader.load(request);
     
    }
    voila j'espere que ca va t'aider

    une derniere chose, à mon avis si tu recois pas une réponse immediate c'est que tous le monde est occupé ou n'as pas forcément la reponse ou ...................................

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 25
    Points
    25
    Par défaut
    Je vais regarder un peu plus le site de flex tutorial et après j'adapterai ta réponse par rapport à mes besoins.

    Merci!

    Ba je pense que peu de personnes m'ont répondu parce que mon post est assez long en fait lol, plus tu réponds court et précis, plus tu as de réponses et c'est pas plus mal

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 25
    Points
    25
    Par défaut
    Re

    Dans la partie request.url = "url de ton services" c'est quoi pour toi l'url de ton service? C'est l'adresse URL qui pointe sur le fichier gateway.php ou c'est le fichier en php qui va traiter mes variables pourcentage?

Discussions similaires

  1. Récupérer variable POST dans le src d'une iframe
    Par claude77 dans le forum Langage
    Réponses: 13
    Dernier message: 04/03/2014, 16h53
  2. Réponses: 6
    Dernier message: 15/04/2009, 14h20
  3. [AJAX] récupérer variable post
    Par hokidoki dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/03/2009, 16h07
  4. Récupérer variable sortie sous MS-DOS
    Par chico200987 dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 27/10/2008, 11h27
  5. [AJAX] Récuperation de variable POST sous Firefox
    Par Phenomenium dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/11/2006, 15h22

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