passage de variables entre flash et php

passage de variables entre flash et php - Flash/ActionScript - Programmation

Marsh Posté le 29-06-2007 à 22:41:28    

Bonsoir,
 
Cela fais maintenant quelques soirées que je m'arrache les cheveux pour récupérer mes variables en flash (envoyé par la méthode "POST" ).
 
Le plus simple est que je vous montre le code et que j'explique après!
 
Script Php:
 

Code :
  1. <?
  2. if($_POST['mdp'] == 'sdz')
  3. {
  4. $mdp = '&titre=Graphique&barre_1=5&barre_2=5&barre_3=7&barre_4=10&';
  5. }
  6. else if($_POST['mdp'] != 'sdz')
  7. {
  8. $mdp = '&titre=Mauvais mot de passe !!!&';
  9. }
  10. echo $mdp
  11. ?>


 
ActionScript du .fla:
 

Code :
  1. var variables:LoadVars = new LoadVars();
  2. var a_envoyer:LoadVars = new LoadVars();
  3. variables.onLoad = function(sucess:Boolean)
  4. {
  5. if(sucess)
  6. {
  7.  _root.titre = this.titre;
  8.  for(var i:Number = 1;i <= 4;i++)
  9.  {
  10.   _root["barre_"+i]._yscale = this["barre_"+i];
  11.  }
  12. }
  13. else
  14. {
  15.  trace("Probleme de chargement de variables dans \"test.php\"." );
  16. }
  17. }
  18. this.onEnterFrame = function()
  19. {
  20. if(Key.isDown(Key.ENTER))
  21. {
  22.  a_envoyer.mdp = _root.mdp.text;
  23.  a_envoyer.sendAndLoad("test.php", variables, "post" );
  24.  this.mdp._visible = false;
  25. }
  26. }


 
Voila, le résultat souhaité est:
 
Si le mot de passe est juste, on renvoi
   titre=mon graphique
   barre_1=...
   barre_2=...
   barre_3=...
   barre_4=...
 
Si le mot de passe est éronné:
   titre = mauvais mot de passe
 
Le résultat que j'obtient est:
   titre=mauvais mot de passe
   barre_1=...
   barre_2=...
   barre_3=...
   barre_4=...
 
Je ne parvient pas à trouver le problème.
 
Si quelqu'un a une idée, je suis toute ouie.  :fou:  :fou:  :fou:


Message édité par fabiench le 30-06-2007 à 19:00:54
Reply

Marsh Posté le 29-06-2007 à 22:41:28   

Reply

Marsh Posté le 30-06-2007 à 11:46:19    

Dans l'action script t'as remis le code PHP :D

 

Sinon après "mauvais mot de passe", essaie de mettre $_POST['mdp'] pour voir ce que reçoit Php


Message édité par Zedlefou le 30-06-2007 à 11:51:28

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 30-06-2007 à 19:07:28    

Sorry pour le double code !!!
 
J'ai tester le $_POST['mdp'] et il m'affiche comme titre $_POST['mdp']
par contre a la sortie dans flash, il m'affiche le mot de passe.
 
Bizard bizard !!!

Reply

Marsh Posté le 01-07-2007 à 01:26:11    

Chez moi ça marche mais j'ai du remplacer ton onEnterFrame par un écouteur

Code :
  1. var variables:LoadVars = new LoadVars();
  2. var a_envoyer:LoadVars = new LoadVars();
  3. variables.onLoad = function(sucess:Boolean) {
  4. if (sucess) {
  5.  _root.titre.text = this.titre + " HOP";
  6.  for (var i:Number = 1; i <= 4; i++) {
  7.   _root["barre_" + i]._yscale = this["barre_" + i];
  8.  }
  9. } else {
  10.  trace("Probleme de chargement de variables dans \"test.php\"." );
  11. }
  12. };
  13. var keyListener:Object = new Object();
  14. Key.addListener(keyListener);
  15. keyListener.onKeyDown = function() {
  16. if (Key.getCode() == Key.ENTER) {
  17.  a_envoyer.mdp = _root.mdp.text;
  18.  a_envoyer.sendAndLoad("test.php",variables,"post" );
  19.  this.mdp.text = "";
  20. }
  21. };


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 01-07-2007 à 03:10:56    

Ton script PHP derière reste le même ?
 
Chez moi, ça change rien !!!

Reply

Marsh Posté le 01-07-2007 à 11:49:37    

Oui le php reste le même.
Tu le test bien dans ton environnement Serveur (localhost ou on-line) et pas direct dans Flash ?


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 01-07-2007 à 12:49:03    

OUi, je test avec easy PHP

Reply

Marsh Posté le 01-07-2007 à 21:22:20    

OK, resolu

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed