Formulaire et xml

Eléphanteau du PHP | 28 Messages

30 juin 2010, 16:45

Bonjour à tous,

Je voudrais envoyer directement dans un fichier xml des renseignements issus du formulaire de ma page php. J'imagine qu'il ne faut pas un gros code mais je suis novice en php et je viens de découvrir le xml...

J'ai trouvé un bout de code :
<?php 
             if ( ! empty($_POST) ) { 
             $xml = '<?xml version="1.0" ... ?>' ; 
             $xml .= '<person>' ; 
             $xml .= '<name>' . htmlentities($_POST['name']) . '</name>' ; 
             $xml .= '<surname>' . htmlentities($_POST['surname']) . '</surname>' ; 
             $xml .= '</person>' ; 
             file_put_contents('data/person.xml', $xml) ; 
             echo '<p>XML enregistré !</p>' ; 
} 
?> 

<form method="post" ...>  
             <input type="text" name="name">  
             <input type="text" name="surname">  
             [...] 
</form>
Par contre je ne comprends pas trop comment il faut procéder pour le "post" et quel fichier xml il faut créer.

Merci d'avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

30 juin 2010, 17:59

Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 28 Messages

01 juil. 2010, 08:46

euh y'a personne pour me filer un petit coup de main.... :priere:

merci

ViPHP
ViPHP | 5462 Messages

01 juil. 2010, 10:18

euh y'a personne pour me filer un petit coup de main.... :priere:

merci
sur quoi tu bloque ton code ne marche pas ?

Eléphanteau du PHP | 28 Messages

01 juil. 2010, 10:53

A vrai dire je ne trouve pas comment "poster" dans la feuille xml un truc du genre :

Donc en gros j'ai mon code php :

Code : Tout sélectionner

<?php if ( ! empty($_POST) ) { $xml = '<?xml version="1.0" ... ?>' ; $xml .= '<person>' ; $xml .= '<name>' . htmlentities($_POST['name']) . '</name>' ; $xml .= '<surname>' . htmlentities($_POST['surname']) . '</surname>' ; $xml .= '</person>' ; file_put_contents('person.xml', $xml) ; echo '<p>XML enregistré !</p>' ; } ?>

Code : Tout sélectionner

<form method="post" action="là, je sais pas trop quoi mettre"> <input type="text" name="name"> <input type="text" name="surname"> <input type="submit" value="Go" /> </form>
Et également pour mon fichier person.xml j'ai créé une structure simple du fichier :

Code : Tout sélectionner

<?xml version="1.0" encoding="iso-8859-1"?> <person> </name> </surname> </person>
Voilà si quelqu'un peu m'aider, merci

ViPHP
ViPHP | 5462 Messages

01 juil. 2010, 10:58

tu met rien dans le action :wink:

Eléphanteau du PHP | 28 Messages

01 juil. 2010, 11:05

Merci bien, mais il me dit :

Fatal error: Call to undefined function: file_put_contents() en ce qui concerne la ligne : file_put_contents('person.xml', $xml) ;

ViPHP
ViPHP | 5462 Messages

01 juil. 2010, 11:07

Merci bien, mais il me dit :

Fatal error: Call to undefined function: file_put_contents() en ce qui concerne la ligne : file_put_contents('person.xml', $xml) ;
t'as quelle version de php ?
echo phpversion();

Eléphanteau du PHP | 28 Messages

01 juil. 2010, 11:11

PHP Version 4.4.9

ViPHP
ViPHP | 5462 Messages

01 juil. 2010, 11:14

PHP Version 4.4.9
c'est que a partir de la version 5, t'es chez qui comme hébergeur ? (ils propose tous la version 5, c'est d'ailleurs pas normale qu'ils gardent la 4 par default)

Eléphanteau du PHP | 28 Messages

01 juil. 2010, 11:16

ok merci,

Je suis chez ovh, je viens de trouver ça : http://guide.ovh.com/Php5ChezOvh

ViPHP
ViPHP | 5462 Messages

01 juil. 2010, 11:18

ok merci,

Je suis chez ovh, je viens de trouver ça : http://guide.ovh.com/Php5ChezOvh
parfait :wink:
si t'as pas trop de page sur ton site passe en php 5.3

Eléphanteau du PHP | 28 Messages

01 juil. 2010, 11:31

Ok c'est parfait ! merci bien

Par contre j'ai la modification de mon name et surname dans mon fichier xml et je voudrais qu'ils se cumulent...

Code : Tout sélectionner

<person> <name>Marc</name> <surname>Dupont</surname> </person> <person> <name>Mathieu</name> <surname>Durant</surname> </person> <person> <name>Jean Paul</name> <surname>Gauthier</surname> </person>
En tout cas merci =D>

ViPHP
ViPHP | 5462 Messages

01 juil. 2010, 14:26

Ok c'est parfait ! merci bien

Par contre j'ai la modification de mon name et surname dans mon fichier xml et je voudrais qu'ils se cumulent...

tu peux avec le 3eme paramètre de file_put_contents en mettant FILE_APPEND :wink:

Eléphanteau du PHP | 28 Messages

01 juil. 2010, 15:40

J'ai bien mon fichier xml qui se remplit mais j'ai une erreur du type :

Code : Tout sélectionner

Erreur d'analyse XML : données incompréhensibles après l'élément de document Emplacement : http://www.cdelaballe.fr/person.xml Numéro de ligne 5, Colonne 10 :</person><?xml version="1.0" encoding="iso-8859-1"?><person><name>gsdg</name><surname>dsgds</surname></person><?xml version="1.0" encoding="iso-8859-1"?><person><name>dfdf</name><surname>sfsdf</surname></person> ---------^
voilà j'ai un </person> qui vient se mettre devant et <?xml version="1.0" encoding="iso-8859-1"?> qui se répète...