compteur
 
AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  ConnexionConnexion  
Partager | 
 

 passage et lecture de variable sans rafraichissement

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: passage et lecture de variable sans rafraichissement   Lun 04 Fév 2008, 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

Mes meilleurs photos



Dernière édition par le Mer 06 Fév 2008, 08:40, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
the virus
Co-administrateur
Co-administrateur


Nombre de messages: 3474
Age: 19
Date d'inscription: 31/12/2005

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mar 05 Fév 2008, 17:25

peut tu fair un exemple et donné le fichier source plz

_________________


Je donne des cours pour e-anim ou la création de site.Pour plus d'info me contacter par MP(Skype: thevirus94)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Rock Lee
Modérateur
Modérateur


Nombre de messages: 4680
Date d'inscription: 03/05/2006

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mar 05 Fév 2008, 18:54

super Smile merci
ps: les tout premier codes(xml) ne sont plus inscrit :s
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mar 05 Fév 2008, 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

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
Beldjilali
Programmeur
Programmeur


Nombre de messages: 3013
Date d'inscription: 24/06/2007

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mar 05 Fév 2008, 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é

_________________

Sur mon site, récupère ce diapo et mets-y tes images gratuitement :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://Beldjilali.fr.nf
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mar 05 Fév 2008, 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

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
Beldjilali
Programmeur
Programmeur


Nombre de messages: 3013
Date d'inscription: 24/06/2007

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mar 05 Fév 2008, 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");

_________________

Sur mon site, récupère ce diapo et mets-y tes images gratuitement :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://Beldjilali.fr.nf
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mer 06 Fév 2008, 08: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

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
the virus
Co-administrateur
Co-administrateur


Nombre de messages: 3474
Age: 19
Date d'inscription: 31/12/2005

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mer 06 Fév 2008, 19:55

passe moi un exemple plz
c'est pas grave si tu est bizar ^^

_________________


Je donne des cours pour e-anim ou la création de site.Pour plus d'info me contacter par MP(Skype: thevirus94)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Beldjilali
Programmeur
Programmeur


Nombre de messages: 3013
Date d'inscription: 24/06/2007

MessageSujet: Re: passage et lecture de variable sans rafraichissement   Mer 06 Fév 2008, 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 Embarassed )

un petit exemple, style le tchat de virus n'aurais pas été plus mal pour mieux comprendre (reprend son code et adapte le..)

_________________

Sur mon site, récupère ce diapo et mets-y tes images gratuitement :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://Beldjilali.fr.nf
 

passage et lecture de variable sans rafraichissement

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» La ficelle: Fiche de lecture
» Joyeux Noël (calendrier perpétuel + son au passage de la souris)
» Rooter Wildfire, incredible S, etc. SANS XTC CLIP
» Exécution d'un script en Panoramic SANS compiler !
» Appeler en Algérie en illimité sans se ruiner

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-anim :: Comment faire, Problème, Bug :: Tutoriels :: Programmation :: Aprendre L'actionscript 2 :: Tutoriels-