Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2011, 16h16   #1
Invité de passage
 
Inscription : mai 2009
Messages : 17
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 17
Points : 3
Points : 3
Par défaut php insertion données dans fichier xml

Bonjour,

je souhaite insérer des données dans ma base de données xml depuis un formulaire php.

voici le code du formulaire:
Code :
1
2
3
4
5
6
7
8
9
10
 
<div class="formulaire">
<form name="insertion" action="formInsert2.php" method="POST">
nom:<input type="text" name="nom">
adresse:<input type="text" name="adresse">
ville:<input type="text" name="ville">
</div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt; text-align: center;" align="center">
<hr align="center" size="2" width="100%"></div>
<input type="submit" value="valider">

voici un extrait de la base:
Code :
1
2
3
4
5
6
7
8
 
<collegues>   
   <collegue>
      <nom>a</nom>
      <adresse>a</adresse>
      <ville>a</ville>
  </collegue>
</collegues>

je n'ai pas trouvé de solutions malgré de longues recherches demeurées infructueuses.

comment puis-je ajouter les données récupérées depuis le formulaire dans le fichier xml qui sert de base de données?

merci d'avance

math11
math11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h28   #2
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149


Avec l'API DOM, écrire dans un fichier XML est assez simple et efficace :
-> http://fr.php.net/manual/fr/book.dom.php
-> http://eusebius.developpez.com/php5dom/
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 18h14   #3
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 586
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 586
Points : 859
Points : 859
tiens un début de code fait à l'arrache, à toi de gérer les champs vides...:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
	if(isset($_REQUEST['valider']))
	{
		foreach($_POST as $cle => $valeur)
		{
			${$cle} = htmlspecialchars($valeur);
		}
		$doc = new DomDocument();
		if($doc->load('simple.xml'))
		{
			$racine = $doc->getElementsByTagName("racine")->item(0);
		}else{
			$racine = $doc->createElement("racine");
		}
		$nod_nom = $doc->createElement("nom");
		$val_nom = $doc->createTextNode($nom);
		$nod_nom->appendChild($val_nom);
		$nod_adresse = $doc->createElement("adresse");
		$val_adresse = $doc->createTextNode($adresse);
		$nod_adresse->appendChild($val_adresse);
		$nod_ville = $doc->createElement("ville");
		$val_ville = $doc->createTextNode($ville);
		$nod_ville->appendChild($val_ville);
		$nod_collegues = $doc->createElement("collegues");
		$nod_collegues->appendChild($nod_nom);
		$nod_collegues->appendChild($nod_adresse);
		$nod_collegues->appendChild($nod_ville);
		$racine->appendChild($nod_collegues);
		$doc->appendChild($racine);
		$doc->save('simple.xml');
	}
?>
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 19h04   #4
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 456
Points : 639
Points : 639
Ou tu poura le faire avec la classe XmlReader du php. voila un exemple qui va te retourner un array de donnés
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
class XmlDestruct extends XMLReader
{
	public function __construct($url)
	{
		$this->open($url);
	}
 
	public function __destruct()
	{
		$this->close();
	}
 
	public function xml2assoc() 
	{ 
	    $tree = null; 
	    while($this->read()) 
	        switch ($this->nodeType) { 
	            case parent::END_ELEMENT: return $tree; 
	            case parent::ELEMENT: 
	                $node = array($this->name => $this->isEmptyElement ? '' : $this->xml2assoc()); 
	                if($this->hasAttributes) 
	                    while($this->moveToNextAttribute()) 
	                        $node['attributes'][$this->name] = $this->value; 
	                $tree[] = $node; 
	            break; 
	            case parent::TEXT: 
	            case parent::CDATA: 
	                $tree .= $this->value; 
	        } 
	    return $tree; 
	}
}
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 12h20   #5
Invité de passage
 
Inscription : mai 2009
Messages : 17
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 17
Points : 3
Points : 3
Salut,

merci a vous tous pour toutes ces réponses...

math11
math11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h15.


 
 
 
 
Partenaires

Hébergement Web