Ecrire, modifier un xml existant sur un site via flash

Résolu
TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010 - 4 oct. 2009 à 16:15
TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010 - 10 oct. 2009 à 15:30
Bonjour à tous,
Aprés une multitude d'essais et de recherches je n'ai pas trouvé le bon code Action Script et PHP qui me permet de ré-écrire un fichier xml de cette forme si :

(si sa peu vous aider j'utilise macromedia flash pro 8)


//fichier xml : news.xml
<NEWS>
A VENIR : LA BOUTIQUE PARTICULIER !!!

</NEWS>


//fichier php : write.php
<?php
$flashnews = $_POST['news'];
$ouvre = fopen("news.xml","w+");
fwrite($ouvre,$flashnews);
fclose($ecrire);
?>

merci pour votre aide

The Best Fear

9 réponses

TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010
9 oct. 2009 à 21:48
C'est bon j'ai trouvé !
Grâce à vous !!
Pour ceux ,qui voudrait savoir je vais vous donner la soluce que j'ai retenu :

// tonfichier.php
<?php

// Ouvre ton fichier xml
$fp2 = fopen('tonfichier.xml','w');

// Ecrit dans le fichier la valeur de la variable que tu lui envoi !
fwrite($fp2,stripslashes($_POST['tavariable']));

// referme le fichier en cours
fclose($fp2);
?>




// Code AS

// créer un objet xml (xmlNews)
xmlNews = new XML();

// création d'une variable d'envoi
envoi = new LoadVars();

// Ajoute notre document XML
envoi["ta variable"] = news.toString();

// Poste la variable avec sendAndLoad
response = new LoadVars();

envoi.sendAndLoad("write.php",response,"POST");

//Affichage d'une reponse d'envoi
statut = "-- Envoyé /!\ veuillez attendre la fin du chargement de votre navigateur";
3
philboris Messages postés 12 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 9 octobre 2009
8 oct. 2009 à 22:04
bonsoir,
essais ce code

<?php

// Écrit les données dans un fichier
$fp = fopen('news.xml','a+');
//saut de ligne
fputs($fp,"\r\n");
fwrite($fp,stripslashes($_POST['xml']));
fclose($fp);
?>

bonne soirée
0
TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010
8 oct. 2009 à 22:07
je vais essayer avec ce code ...
jte tien au courant si sa marche ^^
0
TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010
8 oct. 2009 à 22:44
une question tu utilise quelle fonction dans flash pour envoyer les info ?? parceque moi j'utilise :

news.sendAndLoad("http://www.creaneon.fr/write.php",envoyer,"POST")

//envoier est une variable qui vien recevoir une variable type chaine de caractere ... pour valider le bon fonctionement mais sa marche pas ...//

es-ce la bonne fonction ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010
8 oct. 2009 à 23:18
ton code a plutot pour effet de faire beuguer mon systeme de news ... donc j'en conclut que sa marche absolument pas ta une autre idée ??

si quelqu'un sait qu'il explique comment faire ... parceque des tutos sur XML en ecriture il sont trés rare voir quasi inexistants
0
philboris Messages postés 12 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 12:03
bonjour,
voici un bout de mon code et sa marche chez moi
envoi = new LoadVars();
// Ajoute notre document XML
envoi["xml"] = doc.toString();
// Poste la variable avec sendAndLoad
response = new LoadVars();
response.onLoad = function(failure) {
if (!failure) {
status = "Document sauvegardé avec succès !";
}
return failure;
};
envoi.sendAndLoad("ecrirexml.php",response,"POST");

}


met a dispo ton code action script
merci
0
TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010
9 oct. 2009 à 12:23
oki alors voici les code necessaire :

//code AS sur le bouton d'envoi

on(release)
{
envoyer =" -- Conexion au fichier --";
news.sendAndLoad("http://www.***********.fr/write.php",envoyer,"POST");
}




//code AS sur le bouton de chargement

on(release)
{
envoyer = "-- Chargement --";
xmlNews = new XML(); /* créer un objet xml (xmlNews)*/
xmlNews.onLoad = affichageNews; /* loader le fichier */
xmlNews.load("http://www.*********.fr/news.xml");
function affichageNews()
{
news = xmlNews.firstChild.toString(); // premier noeud "enfant"
}

if(!xmlNews.loaded) // test si xml bien chargé
{
envoyer = "-- Chargement terminé --";
}
else
{
envoyer = "-- Chargement en cours --";
}

}
0
philboris Messages postés 12 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 9 octobre 2009
9 oct. 2009 à 21:51
bonsoir ,
voici le code qui marche chez moi ,mais il me reste le probleme d'enregistrement.
le xml n'est pas enregistré dans le schema


//code AS sur le bouton de chargement

on (release) {
//envoyer = "-- Chargement --";
xmlNews = new XML();/* créer un objet xml (xmlNews)*/
xmlNews.ignoreWhite = true;
xmlNews.load("news.xml");
xmlNews.onLoad = function(affichageNews) {/* loader le fichier */
i = 0;
for (var i = 0; i<=xmlNews.childNodes.length; i++) {

Txtnews.text = xmlNews.firstChild.childNodes[i].attributes.journal;// premier noeud "enfant"


if (!xmlNews.loaded) {// test si xml bien chargé

envoyer = "-- Chargement terminé --";
} else {
envoyer = "-- Chargement en cours --";
}

}

};
}

//c'est dans le php que ca se passe
//"a+" : ouvre le .xml et écrit à la suite du contenu déjà en place
//"w+" : ouvre le .xml, écrase le contenu déjà présent et ecrit ensuite
on (press, keyPress "<Enter>") {

// Crée un document XML
var doc:XML = new XML();
//doc.xmlDecl = '<?xml version="1.0" encoding="UTF-8"?>';
// Création du nœud racine
var rootNode:XMLNode = doc.createElement("news");
// Création de trois nœuds enfants
var varnews:XMLNode = doc.createElement(Txtnews.text);

// Ajout de rootNode en tant que racine de l'arborescence de documents XML
doc.appendChild(rootNode);
// Ajout des différents nœuds enfants en tant qu'enfants de rootNode
rootNode.appendChild(varnews);
for (var aNode:XMLNode = rootNode.firstChild; aNode != null; aNode=aNode.nextSibling) {
trace(aNode);
}

status = "Document non sauvegardé.";
// Utilisation de firstChild pour parcourir en boucle les nœuds enfants de rootNode
envoi = new LoadVars();
// Ajoute notre document XML
envoi["xml"] = doc.toString();
// Poste la variable avec sendAndLoad
response = new LoadVars();
response.onLoad = function(failure) {
if (!failure) {
status = "Document sauvegardé avec succès !";
}
return failure;
};
envoi.sendAndLoad("ecrirexml.php",response,"POST");

}

le xml

<?xml version="1.0" encoding="utf-8" ?>
<nouveau>
<news journal="essais"/>
<news journal="deuxieme essais"/>
</nouveau>
et le php
<?php

// Écrit les données dans un fichier

$fp = fopen('news.xml','a+');
fputs($fp,"\r\n");
fwrite($fp,($_POST['xml']));
fclose($fp);

?>
bonne soirée
0
TheBestFear Messages postés 40 Date d'inscription dimanche 5 avril 2009 Statut Membre Dernière intervention 19 février 2010
10 oct. 2009 à 15:30
Merci à vous tous en regardant tout est en mixant ce que j'avais besoin sa a fini par marchait ^^ et le code est relativement simple je trouve !!

Bonne journée on peu classé se sujet comme resolu ^^
0