Formulaire dans un fichier xml - XML/XSL - Programmation
Marsh Posté le 23-06-2005 à 02:05:33
Utilises DOMXML qui te permettra d'organiser ton fichier xml (ajouter un nouveau <sujet> donc) apres avoir récupéré tes affaires $_POST['message'] $_POST['auteur'] etc...
Ou bien sinon apres avoir récupéré les données du formulaires, tu récupéres aussi les données du fichier xml et t'en réecris un autre apres avoir tout réorganisé style dans un array.
Marsh Posté le 23-06-2005 à 09:16:19
Ben ouais... Formulaire XHTML + insertion avec DOM (PHP5) ou DOMXML (PHP4)...
Marsh Posté le 23-06-2005 à 13:50:22
voici ce que j'ai fait pour l'instant
<?php
$doc = domxml_new_doc("1.0" );
$root = $doc->create_element("racine" );
$root = $doc->append_child($root);
$news = $doc->create_element("news" );
$news = $root->append_child($news);
$sujet = $doc->create_element("sujet" );
$sujet = $news->append_child($sujet);
$text = $doc->create_text_node("sujet de la news" );
$text = $sujet->append_child($text);
$auteur = $doc->create_element("auteur" );
$auteur = $news->append_child($auteur);
$text = $doc->create_text_node("voici l'auteur" );
$text = $auteur->append_child($text);
$message = $doc->create_element("message" );
$message = $news->append_child($message);
$text2 = $doc->create_text_node("voici le message de l'auteur" );
$text2 = $message->append_child($text2);
$doc->dump_file("test.xml", false, true);
?>
il me creer un fichier xml du type
<?xml version="1.0" ?>
- <racine>
- <news>
<sujet>sujet de la news</sujet>
<auteur>voici l'auteur</auteur>
<message>voici le message de l'auteur</message>
</news>
</racine>
comment je peut fair pour qui creer une autre news parce que ca génere que une news ca efface
Marsh Posté le 23-06-2005 à 13:54:20
Ca me paraît un peu logique, après avoir vu cette ligne :
Citation : $doc = domxml_new_doc("1.0" ); |
Réfléchis 2 minutes
Marsh Posté le 23-06-2005 à 14:08:27
exacte j'avai pas fai gaffe
je doit utilisé domxml_open_doc
ou une autre fonction ?
Marsh Posté le 23-06-2005 à 14:19:43
je regardé le domxml_open_file
j'ai essaye avec
<?php
if(!$dom = domxml_open_file("test.xml" )) {
echo "Erreur lors de l'analyse du document\n";
exit;
}
$root = $doc->document_element("racine" );
pour les premieres lignes il me met
Fatal error: Call to a member function on a non-object in /var/www/free.fr/4/1/stealth35/tmp/news.php on line 6
Marsh Posté le 23-06-2005 à 14:25:37
C'est :
$root =& $doc->document_element(); |
Et il retournera la racine
Marsh Posté le 23-06-2005 à 14:39:57
il me dit la meme erreur
c'est bien comem ca que je devai fair ?
<?php
if(!$dom = domxml_open_file("test.xml" )) {
echo "Erreur lors de l'analyse du document\n";
exit;
}
$root =& $doc->document_element();
$root = $doc->append_child($root);
$news = $doc->create_element("news" );
$news = $root->append_child($news);
$sujet = $doc->create_element("sujet" );
$sujet = $news->append_child($sujet);
$text = $doc->create_text_node("sujet de la news" );
$text = $sujet->append_child($text);
$auteur = $doc->create_element("auteur" );
$auteur = $news->append_child($auteur);
$text = $doc->create_text_node("voici l'auteur" );
$text = $auteur->append_child($text);
$message = $doc->create_element("message" );
$message = $news->append_child($message);
$text2 = $doc->create_text_node("voici le message de l'auteur" );
$text2 = $message->append_child($text2);
$doc->dump_file("test.xml", false, true);
?>
Marsh Posté le 23-06-2005 à 14:42:43
T'as $doc->document_element(), alors que tu stocke le fichier dans $dom
Et sinon, pas besoin de faire $root = $doc->append_child($root);
Marsh Posté le 23-06-2005 à 14:45:45
voici g reussi je te remerci beaucoup ( dsl je suis debutant)
voici le code final
<?php
if(!$doc = domxml_open_file("test.xml" )) {
echo "Erreur lors de l'analyse du document\n";
exit;
}
$root =& $doc->document_element();
$news = $doc->create_element("news" );
$news = $root->append_child($news);
$sujet = $doc->create_element("sujet" );
$sujet = $news->append_child($sujet);
$text = $doc->create_text_node("sujet de la news" );
$text = $sujet->append_child($text);
$auteur = $doc->create_element("auteur" );
$auteur = $news->append_child($auteur);
$text = $doc->create_text_node("voici l'auteur" );
$text = $auteur->append_child($text);
$message = $doc->create_element("message" );
$message = $news->append_child($message);
$text2 = $doc->create_text_node("voici le message de l'auteur" );
$text2 = $message->append_child($text2);
$doc->dump_file("test.xml", false, true);
?>
Marsh Posté le 22-06-2005 à 22:36:09
slt je voudrai savoir si on pouvai fair un formulaire en PHP qui envoie les données dans un fichier xml du type
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <racine>
- <sujet>
<message>Le message du formulaire</message>
<auteur>Auteur du message</auteur>
<date>Date creation du message</date>
</sujet>
- <sujet>
<message>Le message du formulaire 2</message>
<auteur>Auteur du message 2</auteur>
<date>Date creation du message 2</date>
</sujet>
</racine>