Accueil > Forum > > > > Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash
Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash
mercredi 25 novembre 2009 à 13:35:06 |
Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

devboman
|
Bonjour. -------------- (Message d'un newbie FLASH/AS) ---------------
Configuration de mon poste travail :
- ADOBE Flash CS4 Professionnel
- Server EasyPhp version : 2.0.0.0
- Microsoft Visual Studio 2008. (Edition php)
Voila mon souci.
J'ai trouvé sur votre site un SRC qui devait répondre à toutes mes attentes. La source se trouve ICI.
Le problème que je rencontre, est que je n'arrive jamais à retourner correctement la variable status du fichier PHP. J'ai toujours la même erreur : this.status = undefined
En effet lorsque je debug l'AS les variables qui sont retournées vers à Flash sont de cette nature: voir l'image plus bas.
La connexion sur la base est opérationnelle, car utilisée dans un SRC PHP/Html pour mon site internet.
J'ai mis en entête du fichier com.php du source originel le symbole " <?php" en lieu et place de l'original qui était " <?" .
Peut-on m'expliquer ou mon problème se situe? Peux être un problème de comptabilité...
Merci de vos réponses.
|
|
mercredi 25 novembre 2009 à 17:14:39 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

Orange73
|
Réponse acceptée !
Hello,
Du côté php, qu'obtiens tu en faisant un echo de tes POST ?
Peut-on avoir le code de traitement PHP ?
-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)

|
|
mercredi 25 novembre 2009 à 18:10:46 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

devboman
|
Réponse acceptée !
Bonjour.
Lorsque j'appelle le fichier PHP « com.php » depuis une page teste « index.html » j'obtiens la réponse escomptée :
status=ok&name0=ID&name1=mark&l0c0=1&l0c1=Aprilia&l1c0=2&l1c1=B.....48&l47c1=Voxan&l48c0=49&l48c1=Yamaha&l49c0=50&l49c1=Zongshen
Donc le 'echo' me retourne bien le 'status' positionné correctement et ensuite suivent les arguments de ma base.
Je te poste les deux fichiers.
Le ficher "index.html" appelant le fichier php incriminé :
------------------------------------------------------------------------------
<html>
<body>
<FORM NAME="Marque" METHOD="post" ACTION="com.php" >
<input type="hidden" name="serverName" value="localhost">
<input type="hidden" name="serverLogin" value="root">
<input type="hidden" name="serverPassword" value="">
<input type="hidden" name="DBName" value="moto">
<input type="hidden" name="requete" value="SELECT * FROM mark WHERE 1">
<INPUT type="submit" value="Envoyer">
</form>
</body>
</html>
------------------------------------------------------------------------------
Le Fichier appelé "com.php"
------------------------------------------------------------------------------
<?php
//chaine renvoyée à la fin à flash
$toflash = "status=";
if (isset($_POST['serverName']) and
isset($_POST['serverLogin']) and
isset($_POST['serverPassword']) and
isset($_POST['DBName']) and
isset($_POST['requete']))
{
//toutes les variables sont bien arrivées de flash à php
//------------------- connection au server --------------------
if (!mysql_connect($_POST['serverName'],$_POST['serverLogin'],$_POST['serverPassword']))
{
$toflash .= "Impossible de se connecter à la base !";
echo $toflash;
exit;
}
//-------------- connection à la base de donnée ---------------
mysql_select_db($_POST['DBName']);
//------------------ execution de la requete ------------------
if (!($requete = mysql_query(stripslashes($_POST['requete']))))
{
//si la requete est érronée
$toflash .= "Attention, La requète contient des erreurs !";
echo $toflash;
exit;
}
//si la requete est correcte, on extrait le premier mot de la requete
ereg("^[a-zA-Z]+",$_POST['requete'],$requete_type);
//si c'est une requete qui modifie ou ajoute qqch dans la table
if ($requete_type[0] == "DELETE" or $requete_type[0] == "UPDATE" or $requete_type[0] == "delete" or $requete_type[0] == "update"){
//alors on quitte, c'est fini, fin de traitement
$toflash .= "0";
echo $toflash;
exit;
}
//------- remplissage de la variable à renvoyer à flash -------
$toflash .= "ok";
//nombre de colonne dans la requete selectionnée
$nb_champs = mysql_num_fields($requete);
//pour chaque colonne on extrait son nom
for ($i=0;$i<$nb_champs;$i++)
{
$toflash .= "&name$i=".mysql_field_name($requete, $i);
}
//on extrait les données de toute la table (par exemple : l1c2 = ligne 1, colonne 2)
$j=0;
//pour chaque ligne j
while ($req_result = mysql_fetch_row($requete))
{
//pour chaque colonne i
for ($i=0;$i<$nb_champs;$i++)
{
$toflash .= "&l$j"."c$i"."=".$req_result[$i];
}
$j++;
}
}
else
{
//message d'erreur, une variable n'est pas arriver au fichier php
$toflash .= "Erreur lors de la transmission des donnes de flash vers php !";
}
//---- Renvoie des données à flash par la commande "echo" -----
echo $toflash;
?>
------------------------------------------------------------------------------
Merci de me tenir au courant.
Cordialement, Devboman
|
|
mercredi 25 novembre 2009 à 19:42:47 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

Orange73
|
Réponse acceptée !
Et si tu change
Code ActionScript :
par une autre variable car "status" devient bleu car il est deja defini en tant que variable native de flash, peut-etre donc un litige ?
-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)

|
|
mercredi 25 novembre 2009 à 19:48:03 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

devboman
|
Réponse acceptée !
Je vais tester de ce pas en changeant l'intitulé de cette variable et reviens pour te tenir au courant.
Merci en attendant.
Devboman
|
|
mercredi 25 novembre 2009 à 19:56:46 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

devboman
|
Réponse acceptée !
Bonsoir.
Et voila testé!
J'ai remplacé le nom de la variable "status" du fichier PHP par "StatusPhp" et biensur j'ai changé le nom de la variable côté AS toujours par le nom de la variable retournée du PHP par "this.StatusPhp"
Rien!! Cette variable, n'apparait toujours pas dans le debuggeur, côté variables locales, et de part le fait pas possible de la tester.
J'obtiens toujours :
**** PHP : undefined
Devboman
|
|
mercredi 25 novembre 2009 à 20:00:19 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

Orange73
|
Réponse acceptée !
Si tu fais un
Code ActionScript :
au debut de ta fonction onLoad avant le if()
qu'obtiens tu ?
-- Orange73 --
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)

|
|
mercredi 25 novembre 2009 à 20:08:02 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

devboman
|
Réponse acceptée !
J'obtiens toujours "undefined"
Je te poste le SRC AS qui est un fichier AS contenant ma class Loadvars
Dans celle-ci tu verras le teste du StatusPhp retourné par le PHP.
Fichier PHPSQL.AS
--------------------------------------------------------
/*
UTILISATION DANS ACTION SCRIPT :
new PHPSQL(server_name, server_login, server_password, db_name); Constructeur du gestionnaire avec les parametres de connection
setServerName(sn : String) : Void Change le nom du serveur
setServerLogin(sl : String) : Void Change le login de connection
setServerPassword(sp : String) : Void Change le mot de passe de connection
setServerDBName(sdbn : String) : Void Change le nom de la base de donnée
request(req : String) : Void Envoie une requete au gestionnaire
onRequest(success:Boolean) : Void Est invoqué une fois que le résultat de la requête est disponible. Les 3 fonctions ci dessous sont alors effectives
getColumnsName() : Array Retourne un tableau des noms de colonnes, ou un tableau vide si aucun resultat, ou null si erreur
getResultAssoc() : Array Retourne un tableau associatif de toutes les lignes, ou un tableau vide si aucun resultat, ou null si erreur
getResult() : Array Retourne un tableau de toutes les lignes/colonnes, ou un tableau vide si aucun resultat, ou null si erreur
*/
/**
* Créer le 25 Novembre 2006.
* CLASSE PHPSQL
* Permet la gestion de requete SQL via flash en passant par php mais entierement simplifié vu de flash.
* La classe permettra toute sorte de requetes, et renverra les données sous forme simplifiées.
* @author schiouff (kc)
* @version 1.0
*/
class PHPSQL extends LoadVars
{
//%%%%%%%%%%%%%%%%%%%%%%%%%%%% VARIABLES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
private var serverName : String;
private var serverLogin : String;
private var serverPassword : String;
private var DBName : String;
private var requete : String;
private var resultColomnsName : Array;
private var resultAssoc : Array;
private var result : Array;
//%%%%%%%%%%%%%%%%%%%%%%%%%%% CONSTRUCTEUR %%%%%%%%%%%%%%%%%%%%%%%%%%%
public function PHPSQL (server_name : String, server_login : String, server_password : String, db_name : String)
{
super();
serverName = server_name;
serverLogin = server_login;
serverPassword = server_password;
DBName = db_name;
}
//%%%%%%%%%%%%%%%%%%%%%%%%%%%% METHODES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
public function request(req : String) : Void
{
clear();
//on ajoute la variable de requete
requete = req;
//on envoie les variables au fichier php. En attente de reception...
sendAndLoad("com.php", this, "POST");
}
private function onLoad(success:Boolean) : Void
{
trace(this.StatusPhp);
var i,j : Number;
if (success)
{
//le fichier php a été trouvé et lu
if (this.StatusPhp == "ok")
{
//on a reçu les données de la requete
//>>>>>>>>>> Exploitation des données reçues <<<<<<<<<<
i = 0;
//creation d'un tableau contenant le nom des champs
resultColomnsName = new Array();
while (this["name"+i] != undefined)
{
resultColomnsName = this["name"+i];
this["name"+i] = undefined;
i++;
}
//creation des tableaux associatif ou non
resultAssoc = new Array();
result = new Array();
j = 0;
i = 0;
//pour chaque colonne i
while (this["l"+j+"c"+i] != undefined)
{
resultAssoc[resultColomnsName[i]] = new Array();
result[i] = new Array();
//pour chaque ligne j
while (this["l"+j+"c"+i] != undefined)
{
resultAssoc[resultColomnsName[i]][j] = this["l"+j+"c"+i];
result[i][j] = this["l"+j+"c"+i];
this["l"+j+"c"+i] = undefined;
j++;
}
j = 0;
i++;
}
onRequest(true);
}
else
{
if (this.StatusPhp == "0")
{
//la requete ne renvoie pas de résultat
resultColomnsName = new Array(0);
resultAssoc = new Array(0);
result = new Array(0);
}
else
{
//un probleme est survenue dans la requete
trace("**** PHP : "+this.StatusPhp);
}
onRequest(true);
}
}
else
{
//le fichier php n'a pas pu être lu
onRequest(false);
}
}
//A définir par l'utilisateur
public function onRequest(success:Boolean) : Void
{
trace("OnRequest undefined ! you may define this method if you want to get results :");
trace("obj_PHPSQL.onRequest = function (succes : boolean) { ... }");
}
private function clear() : Void
{
//on initialise les tableaux ( hope there is a GC )
resultColomnsName = null;
resultAssoc = null;
result = null;
}
public function getColumnsName() : Array
{
return resultColomnsName;
}
public function getResultAssoc() : Array
{
return resultAssoc;
}
public function getResult() : Array
{
return result;
}
public function setServerName(sn : String) : Void
{
serverName = sn;
}
public function setServerLogin(sl : String) : Void
{
serverLogin = sl;
}
public function setServerPassword(sp : String) : Void
{
serverPassword = sp;
}
public function setServerDBName(sdbn : String) : Void
{
DBName = sdbn;
}
}
--------------------------------------------------------
Cordialement, [i]Devboman
|
|
mercredi 25 novembre 2009 à 20:09:50 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

devboman
|
Réponse acceptée !
Je te post l'AS qui importe la class.
L'AS du FLA
-------------------------------------------------------------
import PHPSQL;
//
//Attention à la sécurite dans les identifiants
//( cette source n'est pas là pour traiter la sécurité )
gestionnaireDeRequete = new PHPSQL("localhost", "root", "", "moto");
//
//invoqué lors de la reception du résultat d'une requete
gestionnaireDeRequete.onRequest = function(succes)
{
if (succes && (this.getResult() != null))
{
//si la lecture du fichier php a reussi
//et que la requete a reussie
_root.info_msg = "OK ! no pb !";
fill_data_grid(this);
/*
Au retour, 3 tableaux sont disponibles :
-- this.getColumnsName();
----- est un tableau qui contient les noms des colonnes
-- this.getResultAssoc();
----- est un tableau associatif, c'est à dire que
----- ["nom_de_colonne"][1] renvoie la case 1 de la colonne nom_de_colonne
-- this.getResult();
----- est un tableau, c'est à dire que
----- [2][1] renvoie la case 1 de la colonne 2
*/
}
else
{
_root.info_msg = "Error !";
}
};
//fonction pour le bouton envoyer
envoyer.onRelease = function()
{
//on demande une requete à la base de donnée
gestionnaireDeRequete.request(requete);
};
//fonction qui remplie la datagrid
function fill_data_grid(gdr)
{
//on efface tout
datagrid.removeAllColumns();
//c'est reparti
dataTab = new Array();
for (ligne=0; ligne<gdr.getResult()[0].length; ligne++)
{
obj = new Object();
for (col=gdr.getResult().length-1; col>=0; col--)
{
obj[gdr.getColumnsName()[col]] = gdr.getResult()[col][ligne];
}
dataTab.addItem(obj);
}
datagrid.dataProvider = dataTab;
}
-------------------------------------------------------------
Devboman
|
|
mercredi 25 novembre 2009 à 20:13:50 |
Re : Impossible de retourner ocrrectment une variable d'un Fichier PHP vers Flash

devboman
|
Réponse acceptée !
Pour l'instant les login password et base de donnée sont dans le FLA.
Côté sécurité et si on arrive à faire fonctionner ce FLA, je changerais l'accés à la base.
Je ne mettrai plus dans le FLA le nom de la base, la table, login et le password.
Ceci se fera par la lecture d'un fichier contenant les données.
Pour l'instant tout est en local donc pas de souci.
Devboman
|
|
Cette discussion est classée dans : fichier, php, flash, red, color
Répondre à ce message
Sujets en rapport avec ce message
Besoin d'aide! [ par nicomtl ]
Je suis un débutant des débutants et j'ai besoin d'aide.J'ai créé un formulaire sur flash MX sans probleme. Le formulaire utilise la foction post dans
gerer mon site [ par bouber ]
voilà mon problemeje gere mon site online par une administration en phpje voudrai le gerer avec une interface en flashpeut on faire ça?peut on transfo
Question Flash ou PHP [ par nicooo ]
Voici mon probleme, j'ai une animation flash (formulaire) sur un domaine ( example.com ) qui fait appel à un script php (utilisant mysql) qui est sur
Problème pour relire fichier php [ par fjx ]
Bonjour,je n'arrive pas à recharger un fichier déjà appalé,sous l'apperçu flash (ctrl,entrée) çà marche, mais sur le navigateur le fichier n'est pas r
FLASH prioritaire sur PHP et JAVA [ par zappingconception ]
Salut à tous,Voilà j'expose mon problème, dans ma page php il y a un fichier flash, et des menus + sous menus en java.Mes sous menus sont toujours cac
Flash/php/fichier de données texte [ par JiP83 ]
Hello.J'ai un petit soucis, et je sollicite votre aide.J'utilise encore Flash V5 mais je ne pense pas que l'info soit primordiale ici.Le texte est lon
récupérer une variable php dans Flash ... [ par agarawa ]
Bonjour,j'ai un petit problème sous Flash MXvoilà, ça n'est pas bien compliqué, je souhaite juste récupérer une variable php (enfin plusieurs) sous F
FLASH variables de php [ par davidfr ]
Bonjour à tous, Je ne connaît pas grand chose à flash (je n'ai des notions qu'en php) et j'ai besoin de récupérer des variables d'un fichier php. J'ai
caractere speciaux, flash+php [ par afond ]
Bonjour, Alors voila, j'ai un problème, je récupère une variable "titre" d'un fichier php grâce à loadVars("fichier.php"). Je l'affiche dans une zon
flash php et rafraichissement [ par kingcobra ]
j'ai un petit probleme je vais essayer d'etre clair. j'ai un fichier php ki rempli un fichier txt de la sorte : &var1=blabla&var2=blabla a la suite d
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|