| | passage et lecture de variable sans rafraichissement | |
| | | Auteur | Message |
|---|
christophe_D programmeur


Age : 34 Inscrit le : 23 Juin 2006 Messages : 1812 Localisation : Frasne (25) diver : papa de 4 enfants , toujours sur les 4 chemins Loisirs : programmation en tous genres, defendre le libre , linux
| Sujet: passage et lecture de variable sans rafraichissement Lun 4 Fév - 23:45 | |
| gestion de donnee via un fichier XML
niveau : connaissance avance mtasc (ActionScript) et php
le fichier XML en lui meme
comment est il fais; voyons plutot un exemple d'un xml basique
| Code: | <?xml version="1.0" encoding="iso-8859-1" ?> <initialisation> <definition truc="er" machin="r" chose="ee"/> </initialisation> <creation> <definition truc="ewr" machin="rw2" chose="12"/> <definition truc="eqr" machin="rv" chose="13"/> <definition truc="eqre" machin="ar" chose="14"/> </initialisation>
|
petite explication pour la suite des operations la ligne suivante est toujours obligatoire pour faire un XML
| Code: | <?xml version="1.0" encoding="iso-8859-1" ?>
|
mais il possible de genere un XML via un PHP en faisant
| Code: | echo '<?xml version="1.0" encoding="iso-8859-1" ?> ';
|
puis vous remarquerai que nous avons comme en HTML une balise initialisation ceci est un noeud comme creation dedans on a un sous noeud definition avec truc , machin , chose qui sont en quelque sorte des parametres les termes de noeuds sont libres car en actionscript on utilisera que leur positions ansi que leur sous noeud par contre les valeurs truc , machin , chose elles seront importantes !!
deja comment recuperer les valeurs en PHP il faudra par exemple recuperer les variable php avec
| Code: | ma_valeur=$_REQUEST["snd_swf"];
|
pour envoyer un requete vers un fichier PHP depuis l'actionScript on fera comme ceci
| Code: | static function send_php() { phpsnd.snd_swf="v1"; }
|
ici on ne traite qu'une variable , mais elle pourront etre plus nombreuses !!!
puis pour envoyer la requete
| Code: | var phpsnd :LoadVars = new LoadVars(); var rec_xml:XML = new XML(); rec_xml.ignoreWhite=true; // important evite les problemes d'espaces phpsnd.snd_swf="v1"; phpsnd.sendAndLoad("./requete.php",rec_xnd,"POST");
|
requete.php sera le fichier PHP qui traitera la requete et retournera un fichier XML la variable rec_xml sera le fichier XML retourne apres pour lire le fichier XML genere on utilisera la methode onload
du style
| Code: | rec_xml.onLoad = function(status:Boolean) { if (status) { // action a faire si pas de soucis de lecture } else { // action a faire si erreur de lecture } }
|
maintenant comment lire le XML genere
suivant notre exemple ci dessus , le noeud initialisation et le premier soit l'index 0 donc on recupera la valeur truc, machin , chose comme suis
| Code: | var truc : String = rec_xml.childNodes[0].childNodes[0].attributes.truc; var machin : String = rec_xml.childNodes[0].childNodes[0].attributes.machin; var chose : String = rec_xml.childNodes[0].childNodes[0].attributes.chose;
|
et pour les definitions creation qui est au 2ieme noeud
| Code: | // premiere ligne de creation var truc : String = rec_xml.childNodes[1].childNodes[0].attributes.truc; var machin : String = rec_xml.childNodes[1].childNodes[0].attributes.machin; var chose : String = rec_xml.childNodes[1].childNodes[0].attributes.chose; // deuxieme ligne de creation var truc2 : String = rec_xml.childNodes[1].childNodes[1].attributes.truc; var machin2 : String = rec_xml.childNodes[1].childNodes[1].attributes.machin; var chose2 : String = rec_xml.childNodes[1].childNodes[1].attributes.chose;
|
donc ce qui donnera finalement pour l'action Script
| Code: | static function send_php() { var phpsnd :LoadVars = new LoadVars(); var rec_xml:XML = new XML(); rec_xml.ignoreWhite=true; // important evite les problemes d'espaces phpsnd.snd_swf="v1"; phpsnd.sendAndLoad("./requete.php",rec_snd,"POST"); rec_xml.onLoad = function(status:Boolean) { if (status) { // lecture de definition var truc : String = rec_xml.childNodes[0].childNodes[0].attributes.truc; var machin : String = rec_xml.childNodes[0].childNodes[0].attributes.machin; var chose : String = rec_xml.childNodes[0].childNodes[0].attributes.chose; // premiere ligne de creation var truc1 : String = rec_xml.childNodes[1].childNodes[0].attributes.truc; var machin1 : String = rec_xml.childNodes[1].childNodes[0].attributes.machin; var chose1 : String = rec_xml.childNodes[1].childNodes[0].attributes.chose; // deuxieme ligne de creation var truc2 : String = rec_xml.childNodes[1].childNodes[1].attributes.truc; var machin2 : String = rec_xml.childNodes[1].childNodes[1].attributes.machin; var chose2 : String = rec_xml.childNodes[1].childNodes[1].attributes.chose; } else { // action a faire si erreur de lecture } } }
|
et du cote PHP
| Code: | echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
echo '<initialisation>'; echo '<definition truc="'.$PHP_truc.'" machin="'.$PHP_machin.'" chose="'.$PHP_chose.'"/>'; echo '</initialisation>'; echo '<creation>'; echo '<definition truc="'.$PHP_truc1.'" machin="'.$PHP_machin1.'" chose="'.$PHP_chose1.'"/>'; echo '<definition truc="'.$PHP_truc2.'" machin="'.$PHP_machin2.'" chose="'.$PHP_chose2.'"/>'; echo '<definition truc="'.$PHP_truc3.'" machin="'.$PHP_machin3.'" chose="'.$PHP_chose3.'"/>'; echo '</initialisation>';
?>
|
ceci est un exemple rapide , qui sera a adapter suivant vos besoins
par exemple vous pourrais faire un sendAndLoad() sans avoir un onload() , pour eviter un bloquage dans un jeux qui sera jouer off-line
et pour finir tres important , action Script ne permet de lire un fichier PHP hors du domaine du SWF appelant !! _________________ un petit jeux sympa L'urgent c'est fait, L'impossible est en train de se faire, Un miracle ?? laisse moi au minimun 24H !!!... L'action script a l'etat pur Mes meilleurs photos
Dernière édition par le Mer 6 Fév - 8:40, édité 3 fois |
|  | | the virus co-administrateur


Age : 15 Inscrit le : 31 Déc 2005 Messages : 1979
| Sujet: Re: passage et lecture de variable sans rafraichissement Mar 5 Fév - 17:25 | |
| peut tu fair un exemple et donné le fichier source plz _________________ Le chat reviendra mais la il est tro lourd
Si je critique vos créa c'est que je pense que vous pouver fair mieux!! |
|  | | Rock Lee modo


Inscrit le : 03 Mai 2006 Messages : 3319
| Sujet: Re: passage et lecture de variable sans rafraichissement Mar 5 Fév - 18:54 | |
| super merci ps: les tout premier codes(xml) ne sont plus inscrit :s _________________
 |
|  | | christophe_D programmeur


Age : 34 Inscrit le : 23 Juin 2006 Messages : 1812 Localisation : Frasne (25) diver : papa de 4 enfants , toujours sur les 4 chemins Loisirs : programmation en tous genres, defendre le libre , linux
| Sujet: Re: passage et lecture de variable sans rafraichissement Mar 5 Fév - 19:24 | |
| | the virus a écrit: | | peut tu fair un exemple et donné le fichier source plz |
ici tu as toutes les bases !!!!
faire un exemple , ne fera que t'embrouiller !! , car j'ai une maniere de penser les choses assez hors normes .
essaie plutot de faire par toi , que d'adapter un truc que tu comprendra pas ...
| Rock Lee a écrit: | super Smile merci ps: les tout premier codes(xml) ne sont plus inscrit :s |
c'est corrige !!! petit bug ..... _________________ un petit jeux sympa L'urgent c'est fait, L'impossible est en train de se faire, Un miracle ?? laisse moi au minimun 24H !!!... L'action script a l'etat pur Mes meilleurs photos |
|  | | Beldjilali programmeur


Inscrit le : 24 Juin 2007 Messages : 2154
| Sujet: Re: passage et lecture de variable sans rafraichissement Mar 5 Fév - 20:19 | |
| j'ai quelques questions parce que je patoge dur là.
la fonction : $ma_valeur=$_REQUEST["snd_swf"];
on ne s'en sert pas pour récuperer les variables dans le php?
Pourquoi on passe par un php puisqu'on peut utiliser que le xml? à moins qu'il faut passer par une base de donnée mysql ce qui explique le passage par le php.
enfin dans ton code la ligne phpsnd.sendAndLoad("./requete.php",rec_snd,"POST"); doit être phpsnd.sendAndLoad("./requete.php",rec_xml,"POST"); je pense.
Merci pour tout ça, c'est dejà une grande avancé _________________

Défoule toi sur mon ami et fais le jongler :
Tu peux aussi jongler ton ami (la photo et l'image de fond de ton choix) ... prochainement sur mon site. |
|  | | christophe_D programmeur


Age : 34 Inscrit le : 23 Juin 2006 Messages : 1812 Localisation : Frasne (25) diver : papa de 4 enfants , toujours sur les 4 chemins Loisirs : programmation en tous genres, defendre le libre , linux
| Sujet: Re: passage et lecture de variable sans rafraichissement Mar 5 Fév - 20:39 | |
| | Beldjilali a écrit: | j'ai quelques questions parce que je patoge dur là.
la fonction : $ma_valeur=$_REQUEST["snd_swf"];
|
c'est pour la recuperation ,dans le temps , php deviens strict !!! ceci et facultatif et encore !! suivant les versions de PHP , il peut il avoir des avertissement
| Beldjilali a écrit: | on ne s'en sert pas pour récuperer les variables dans le php?
Pourquoi on passe par un php puisqu'on peut utiliser que le xml? à moins qu'il faut passer par une base de donnée mysql ce qui explique le passage par le php.
enfin dans ton code la ligne phpsnd.sendAndLoad("./requete.php",rec_snd,"POST"); doit être phpsnd.sendAndLoad("./requete.php",rec_xml,"POST"); je pense.
Merci pour tout ça, c'est dejà une grande avancé |
erreur corriger !!! la 2ieme et bien la bonne !!! _________________ un petit jeux sympa L'urgent c'est fait, L'impossible est en train de se faire, Un miracle ?? laisse moi au minimun 24H !!!... L'action script a l'etat pur Mes meilleurs photos |
|  | | Beldjilali programmeur


Inscrit le : 24 Juin 2007 Messages : 2154
| Sujet: Re: passage et lecture de variable sans rafraichissement Mar 5 Fév - 21:01 | |
| | christophe_D a écrit: | | Beldjilali a écrit: | j'ai quelques questions parce que je patoge dur là.
la fonction : | Code: | $ma_valeur=$_REQUEST["snd_swf"]; |
|
c'est pour la recuperation ,dans le temps , php deviens strict !!! ceci et facultatif et encore !! suivant les versions de PHP , il peut il avoir des avertissement
|
y'a un truc que je ne comprends pas, à quel moment on inscrit une donnée dans le fichier xml? la base de donnée est bien un fichier xml?
Edit : j'ajoute une autre question :
Et puis pour envoyer une variable vers le php, je mets quoi exactement? tu nous parles de cette variable :
| Code: | phpsnd.snd_swf="v1"; |
puis quand tu l'intégres dans le code, elle disparait :
| Code: | var phpsnd :LoadVars = new LoadVars(); var rec_xml:XML = new XML(); rec_xml.ignoreWhite=true; // important evite les problemes d'espaces
phpsnd.sendAndLoad("./requete.php",rec_xnd,"POST"); |
_________________

Défoule toi sur mon ami et fais le jongler :
Tu peux aussi jongler ton ami (la photo et l'image de fond de ton choix) ... prochainement sur mon site. |
|  | | christophe_D programmeur


Age : 34 Inscrit le : 23 Juin 2006 Messages : 1812 Localisation : Frasne (25) diver : papa de 4 enfants , toujours sur les 4 chemins Loisirs : programmation en tous genres, defendre le libre , linux
| Sujet: Re: passage et lecture de variable sans rafraichissement Mer 6 Fév - 8:38 | |
| | Beldjilali a écrit: | y'a un truc que je ne comprends pas, à quel moment on inscrit une donnée dans le fichier xml? la base de donnée est bien un fichier xml?
|
quand tu traite ton fichier XML je suis parti dans le cas d'un fichier XML dynamique , mais il pourra etre statique , du coup ca sera une extension XML
par exemple pour un top 10
| Code: | <score> <place position="x" point="XXX" joueur="xxxx"/> <place position="x" point="XXX" joueur="xxxx"/> <place position="x" point="XXX" joueur="xxxx"/> </score>
|
pour indique par exemple le top 10 , il te faudra une base sql au mieux pour sotcker les scores
| Beldjilali a écrit: | Edit : j'ajoute une autre question :
Et puis pour envoyer une variable vers le php, je mets quoi exactement? tu nous parles de cette variable :
| Code: | phpsnd.snd_swf="v1"; |
puis quand tu l'intégres dans le code, elle disparait :
| Code: | var phpsnd :LoadVars = new LoadVars(); var rec_xml:XML = new XML(); rec_xml.ignoreWhite=true; // important evite les problemes d'espaces
phpsnd.sendAndLoad("./requete.php",rec_xnd,"POST"); |
|
oublie de ma pars le code exact
| Code: | var phpsnd :LoadVars = new LoadVars(); var rec_xml:XML = new XML(); rec_xml.ignoreWhite=true; // important evite les problemes d'espaces phpsnd.snd_swf="v1"; phpsnd.sendAndLoad("./requete.php",rec_xnd,"POST"); |
la variable snd_swf pourra etre un score , une pseudo ... cette ou ces variables serviront de liaison en le swf et le php _________________ un petit jeux sympa L'urgent c'est fait, L'impossible est en train de se faire, Un miracle ?? laisse moi au minimun 24H !!!... L'action script a l'etat pur Mes meilleurs photos |
|  | | the virus co-administrateur


Age : 15 Inscrit le : 31 Déc 2005 Messages : 1979
| Sujet: Re: passage et lecture de variable sans rafraichissement Mer 6 Fév - 19:55 | |
| passe moi un exemple plz c'est pas grave si tu est bizar ^^ _________________ Le chat reviendra mais la il est tro lourd
Si je critique vos créa c'est que je pense que vous pouver fair mieux!! |
|  | | Beldjilali programmeur


Inscrit le : 24 Juin 2007 Messages : 2154
| Sujet: Re: passage et lecture de variable sans rafraichissement Mer 6 Fév - 23:12 | |
| merci Christophe, je vois ça dans la semaine.. pas le temps en ce moment.
Mais je pense que quand je vais m'y remettre je vais reposter ici (c'est meme sûr vu comment je rame )
un petit exemple, style le tchat de virus n'aurais pas été plus mal pour mieux comprendre (reprend son code et adapte le..) _________________

Défoule toi sur mon ami et fais le jongler :
Tu peux aussi jongler ton ami (la photo et l'image de fond de ton choix) ... prochainement sur mon site. |
|  | | | passage et lecture de variable sans rafraichissement | |
|
| Page 1 sur 1 |
| | Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| | |
| |
|