begin process at 2012 05 26 06:21:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > METTRE À JOUR UN FICHIER XML (AJOUTER UN ENREGISTREMENT) AVEC LA FONCTION APPENDCHILD, (AS2-AS3) ET PHP

METTRE À JOUR UN FICHIER XML (AJOUTER UN ENREGISTREMENT) AVEC LA FONCTION APPENDCHILD, (AS2-AS3) ET PHP


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ActionScripts Classé sous :xml, php, ajouter xml, flash xml Niveau :Débutant Date de création :30/10/2010 Date de mise à jour :30/10/2010 16:08:42 Vu / téléchargé :5 058 / 358

Auteur : fshwork

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Voilà un exemple basique d'utilisation de la fonction appendchild de flash pour ajouter un enregistrement à un fichier xml.

Le principe:
    - on ouvre le fichier source xml
    - en cliquant sur le bouton, on créer un nouvel objet xml avec les textes de saisi
    - on ajoute l'objet xml au fichier xml source
    - on envoie l'objet modifié à php
    - php met à jour le fichier.

Source

  • //////////////////////////////////////////////////////////
  • // VERSION AS2
  • ///////////////////////////////////////////////////////////
  • Sur la première image
  • stop();
  • ///////////////////////////////////////////////////
  • // ouverture du fichier xml
  • ///////////////////////////////////////////////////
  • projet_xml.contentType = "text/XML";
  • projet_xml.xmlDecl = "<?xml ?>";
  • projet_xml = new XML();
  • projet_xml.ignoreWhite = true;
  • projet_xml.load("xml.xml");
  • projet_xml.onLoad = function(success) {
  • if(success){
  • _root.fichierxml.text=projet_xml; // pour visualiser le contenu du fichier xml
  • }
  • }
  • Action On release du bouton envoyer:
  • on (release) {
  • pseudosaisi=_root.pseudo.text;
  • messagesaisi=_root.messager.text;
  • //on créer l'objet xml à ajouter:
  • newxml= new XML("<poste><pseudo>"+pseudosaisi+"</pseudo><message>"+messagesaisi+"</message></poste>");
  • //on rattache l'objet à l'xml existant
  • projet_xml.firstChild.appendChild(newxml);
  • //uniquement pour le test sous flash, je vérifie l'anim si le xml à envoyé est complet
  • trace (projet_xml);
  • //j'envoie le tout à php qui écrit dans le fichier xml:
  • projet_xml.sendAndLoad("xml.php", projet_xml);
  • //cette action c'est juste pour actualiser l'affichage sans recharger (dans l'absolu, elle n'est pas nécessaire):
  • gotoAndPlay("Séquence 2", 1);
  • }
  • /////////////////////////////////////////////////////////////////////////////////////////////
  • // VERSION AS3
  • /////////////////////////////////////////////////////////////////////////////////////////////
  • stop();
  • var xmlLoader:URLLoader = new URLLoader();
  • var xml_projet:XML = new XML();
  • xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
  • xmlLoader.load(new URLRequest("XML.xml"));
  • function LoadXML(e:Event):void {
  • xml_projet = new XML(e.target.data);
  • }
  • //fonction exécutée en cliquant sur le bouton envoyer
  • function onClic(pEvt:Event):void {
  • var pseudosaisi:String = pseudo.text;
  • var messagesaisi:String = messager.text
  • var nodetext=XML("<poste><pseudo>"+pseudosaisi+"</pseudo><message>"+messagesaisi+"</message></poste>");
  • xml_projet.appendChild(nodetext);
  • var loader:URLLoader = new URLLoader();
  • var req:URLRequest = new URLRequest("xml.php");
  • loader.dataFormat = URLLoaderDataFormat.VARIABLES;
  • req.method = URLRequestMethod.POST;
  • req.data = xml_projet;
  • loader.load(req);
  • play();
  • }
  • //ecoute du clic sur bouton:
  • envoyer.addEventListener(MouseEvent.CLICK, onClic);
  • ////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//   VERSION AS2
///////////////////////////////////////////////////////////


Sur la première image

stop();
///////////////////////////////////////////////////
//          ouverture du fichier xml
///////////////////////////////////////////////////
projet_xml.contentType = "text/XML";
projet_xml.xmlDecl = "<?xml ?>";
projet_xml = new XML();
projet_xml.ignoreWhite = true;
projet_xml.load("xml.xml");
projet_xml.onLoad = function(success) {		
	if(success){		
	_root.fichierxml.text=projet_xml; // pour visualiser le contenu du fichier xml
	}
}




Action On release du bouton envoyer:

on (release) {
  pseudosaisi=_root.pseudo.text;
  messagesaisi=_root.messager.text;
//on créer l'objet xml à ajouter:
  newxml= new XML("<poste><pseudo>"+pseudosaisi+"</pseudo><message>"+messagesaisi+"</message></poste>");
//on rattache l'objet à l'xml existant 
  projet_xml.firstChild.appendChild(newxml);
//uniquement pour le test sous flash, je vérifie l'anim si le xml à envoyé est complet   
  trace (projet_xml);
//j'envoie le tout à php qui écrit dans le fichier xml:  
  projet_xml.sendAndLoad("xml.php", projet_xml);
//cette action c'est juste pour actualiser l'affichage sans recharger (dans l'absolu, elle n'est pas nécessaire):  
 gotoAndPlay("Séquence 2", 1);	
}


/////////////////////////////////////////////////////////////////////////////////////////////
// VERSION AS3
/////////////////////////////////////////////////////////////////////////////////////////////
stop();

var xmlLoader:URLLoader = new URLLoader();
var xml_projet:XML = new XML(); 
xmlLoader.addEventListener(Event.COMPLETE, LoadXML); 
xmlLoader.load(new URLRequest("XML.xml")); 
function LoadXML(e:Event):void {
xml_projet = new XML(e.target.data);
}



   
//fonction exécutée en cliquant sur le bouton envoyer  
function onClic(pEvt:Event):void {
var pseudosaisi:String = pseudo.text;
var messagesaisi:String = messager.text
var nodetext=XML("<poste><pseudo>"+pseudosaisi+"</pseudo><message>"+messagesaisi+"</message></poste>");   
xml_projet.appendChild(nodetext);  
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("xml.php");
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
req.method = URLRequestMethod.POST;
req.data = xml_projet;
loader.load(req);
play();
}
//ecoute du clic sur bouton:   
envoyer.addEventListener(MouseEvent.CLICK, onClic);

////////////////////////////////////////////////////////////////////////////////////////////

 Conclusion

Pour faire un guestbook

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   xml-appenchild-as3

Télécharger le zip


 Historique

30 octobre 2010 11:20:26 :
up
30 octobre 2010 16:04:12 :
version as3
30 octobre 2010 16:08:42 :
version as2 et as3

 Sources de la même categorie

Source avec Zip Source avec une capture OUVRIR UNE ANIMATION EXTERNE DANS UN CLIP VIDE. par KcHeY
Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ANTI-FLOOD FLASH MAIL FORM V1.0 par myfayce
Source avec Zip Source avec une capture CARNET D'ADRESSES FLASH XML POUR DEBUTANTS - FONCTIONNE AVEC... par lwred
Source avec Zip Source avec une capture POLLKA - SONDAGE EN FLASH/PHP/XML par x_mec
Source avec Zip Source avec une capture LIVRE D'OR EN FLASH AVEC BASE MYSQL ET PHP. INTÉRACTION FLAS... par jujuwiwi
Source avec Zip CLASSE DE LIAISON ET DE REQUETTAGE AVEC UN SERVEUR MYSQL DIS... par aKheNathOn

Commentaires et avis

Commentaire de pegase31 le 30/10/2010 11:54:03 administrateur CS

as2, dommage ...

Peg'

Commentaire de fshwork le 30/10/2010 16:17:24

salut peg'

C'est vrai que vu que je suis pas un expert as, j'ai fait avec l'as2 car je connaissais mieux la syntaxe ;)

J'ai essayé de regarder en AS3, mais j'ai un peu de mal avec les méthodes "listener", etc.... mais en AS3, ça me donnerait un truc dans le genre:



var xmlLoader:URLLoader = new URLLoader();
var xml_projet:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("XML.xml"));
function LoadXML(e:Event):void {
xml_projet = new XML(e.target.data);
}



  
//fonction exécutée en cliquant sur le bouton envoyer  
function onClic(pEvt:Event):void {
var pseudosaisi:String = pseudo.text;
var messagesaisi:String = messager.text
var nodetext=XML("<poste><pseudo>"+pseudosaisi+"</pseudo><message>"+messagesaisi+"</message></poste>");  
xml_projet.appendChild(nodetext);  
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("xml.php");
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
req.method = URLRequestMethod.POST;
req.data = xml_projet;
loader.load(req);
play();
}
//ecoute du clic sur bouton:  
envoyer.addEventListener(MouseEvent.CLICK, onClic);

Commentaire de pegase31 le 30/10/2010 18:50:36 administrateur CS

Le soucis de ton code est que tu dois charger le XML avant de le mettre à jour pour ensuite le compléter et renvoyer le tout ..
Pourquoi ne pas faire une méthode en XML de mise à jour de fichier plutôt que de devoir tout retransférer à chaque fois ?

Hormis le fait d'éviter des tonnes de transfert, ça éviterais aussi de mettre à dispos le mot de passe et le pseudo de n'importe de qui les veut via un simple navigateur.

Peg'

Commentaire de fshwork le 30/10/2010 20:57:28

A dire vrai, je me suis pas vraiment posé la question, comme c'était un fichier de stockage de messages, j'ai pas pensé à la mise à dispo du fichier partant du principe que de toute façon les messages seraient visibles dans l'anim source.

dans l'animation source de cet extrait de code, j'avais juste besoin de lire un xml pour afficher les messages et donner la possibilité de laisser un message, et de mettre à jour l'affichage des messages. et comme je charge le xml pour les afficher, j'en profite pour le modifier au moment de l'envoi.

Commentaire de fshwork le 30/10/2010 20:59:44

et j'avoue que j'ai eu un peu de mal avec le xml

Commentaire de pegase31 le 30/10/2010 21:38:21 administrateur CS

le soucis du XML est que n'importe qui y a accès, aucune sécurité du moment que tu connais l'url ..

Peg'

Commentaire de Twinspirit le 01/11/2010 08:03:55 8/10

C'est extrêmement utile pour la mise a jour de préférences utilisateur, qui seraient stockées sur le poste du client.
Bien sur, on n'y stocke pas de données sensibles, mais ça n'enlève rien à l'utilité de ta source.
Merci.

PS : Pour la communication avec PHP en AS3, je te conseille de regarder du côté de AMFPHP.

Commentaire de pegase31 le 01/11/2010 08:36:09 administrateur CS

pour les données utilisateurs en local, il y a justement les SharedObjects prévus pour ça.

Peg'

Commentaire de trek9505 le 22/01/2011 20:36:21

Salut,
Merci pour le code, j'ai juste une question je voudrais savoir comment faire pour supprimer et remplacer le texte du xml plutot que de le rajouter à la suite du texte existant ?

Commentaire de fshwork le 24/01/2011 10:27:32

salut,

Tu peux partir du même principe en "parsant" ton xml jusqu'au node à modifier, affecter la valeur à ton xml, et mettre à jour ton fichier xml.

Commentaire de trek9505 le 24/01/2011 12:05:25

Merci pour ta réponse, mais dit comme ça, j'ai pas tout compris, c'est dans ces moments la qu'on se sent newbie. Plus d'info ?  :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

SVP aidez moi Pb avec Flash php XML [ par staika ] salut tout le monde, bon je m'explique:je suis en train de réaliser un site web flash dynamique qui fait la gestion de plusieurs rubriques et sous rub flash+xml+php+bd=je me casse la tete help [ par sniperbe ] salut a tous,comment faire pour obtenir ceci svp ???&lt;?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?&gt;&lt;paquay&gt;&lt;travail photo= forum flash, xml et php [ par naanouff ] salut, voila jsui en train de programmer un forum sans base de données en xml et php, g trouver des exemple de codes pour la methode "sendAndLoad" je flash/xml/php [ par westsider ] bonjour, je suis sur le point de finir mon jeu, et ke gal&#233;re un peu avec xml et php, je m'explique : a la fin du jeu le joueur arrive sur u Comment php recoit des données XML renvoyé par Flash. [ par jcdc ] Salut tout le monde.Voil&#224;, je renvoi des donn&#233;es de flash vers php en XML, mais je ne sais pas comment php les r&#233;cup&#232;re. Qui pourr probleme xml il prends la version du cache [ par 8fanfan8 ] je m explique : ca fait deja trois jours que je me galere et je trouve pas pourtant ja i bien compris ce qu il fallait faire mais bon.... j ai fait un FLASH variables de php [ par davidfr ] Bonjour &#224; tous, Je ne conna&#238;t pas grand chose &#224; flash (je n'ai des notions qu'en php) et j'ai besoin de r&#233;cup&#233;rer des variabl Passer un objet XML à PHP ou ASP pour l'enregistrer [ par goldenboy68 ] Bonjour TLM, Une p'tite question: j'ai une matrice que je cr&#233;e dans Flash (elle devra me permettre de m&#233;moriser la disposition des objets pr Flash, XML, et PHP [ par funkycrash ] Bonjour, je n'ai jamais post&#233; auparavant bien que je suive avec interet l'&#233;volution de ce site qui m'as bien aid&#233;.Cependant j'ai un peu Retour de XML fantome !!!! [ par raem ] Bonjour &#224; tous alors la je n'en peut plus !ca fait 1 journ&#233;e que je bloque sur un probl&#232;me qui me laisse sans voix...je m'explique :j'a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales