Ecrire, modifier un xml existant sur un site via flash [Résolu]

Signaler
Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010
-
Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010
-
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

Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010

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";
Messages postés
12
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
9 octobre 2009

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
Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010

je vais essayer avec ce code ...
jte tien au courant si sa marche ^^
Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010

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 ??
Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010

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
Messages postés
12
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
9 octobre 2009

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
Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010

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 --";
}

}
Messages postés
12
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
9 octobre 2009

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
Messages postés
40
Date d'inscription
dimanche 5 avril 2009
Statut
Membre
Dernière intervention
19 février 2010

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 ^^