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

TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention - 4 oct. 2009 à 16:15 - Dernière réponse : TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention
- 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
Afficher la suite 

Votre réponse

9 réponses

TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention - 9 oct. 2009 à 21:48
+3
Utile
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";
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de TheBestFear
philboris 12 Messages postés dimanche 26 janvier 2003Date d'inscription 9 octobre 2009 Dernière intervention - 8 oct. 2009 à 22:04
0
Utile
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
Commenter la réponse de philboris
TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention - 8 oct. 2009 à 22:07
0
Utile
je vais essayer avec ce code ...
jte tien au courant si sa marche ^^
Commenter la réponse de TheBestFear
TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention - 8 oct. 2009 à 22:44
0
Utile
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 ??
Commenter la réponse de TheBestFear
TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention - 8 oct. 2009 à 23:18
0
Utile
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
Commenter la réponse de TheBestFear
philboris 12 Messages postés dimanche 26 janvier 2003Date d'inscription 9 octobre 2009 Dernière intervention - 9 oct. 2009 à 12:03
0
Utile
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
Commenter la réponse de philboris
TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention - 9 oct. 2009 à 12:23
0
Utile
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 --";
}

}
Commenter la réponse de TheBestFear
philboris 12 Messages postés dimanche 26 janvier 2003Date d'inscription 9 octobre 2009 Dernière intervention - 9 oct. 2009 à 21:51
0
Utile
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
Commenter la réponse de philboris
TheBestFear 40 Messages postés dimanche 5 avril 2009Date d'inscription 19 février 2010 Dernière intervention - 10 oct. 2009 à 15:30
0
Utile
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 ^^
Commenter la réponse de TheBestFear

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.