Annuaire/PHP/Ajax
lola2k
Messages postés
7
Statut
Membre
-
king nothing Messages postés 1 Statut Membre -
king nothing Messages postés 1 Statut Membre -
Bonjour à tous,
Voilà ma question :
J'ai récupéré un script d'annuaire sur O'Reilly qui me permet de gérer un annuaire avec Ajax dont voici le lien (https://www.oreilly.fr Très grossièrement il fait appel à un fichier *.xml par contact, type toto_dupont.xml
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<nom>Dupont</nom>
<prenom>Toto</prenom>
<mail>toto@dupont-sarl.fr</mail>
<tel>02XXXXXXXX</tel>
<gsm>06XXXXXXXX</gsm>
<adresse>chez lui</adresse>
<cp>00001</cp>
<commune>Dans les nuages</commune>
</contact>
voilou, je trouve ce sript pas mal du tout mais je souhaiterai éditer mes fiches contact prenom_nom.xml via un formulaire sur mon réseau local. Pour ce faire, j'ai tenté un petit form :
<!-- formulaire contact -->
<form method="post" action="traitement-contact.php">
<h2>Ajout d'un contact</h2>
<p>
Le Nom :
<input type="text" name="nom" /><br />
Le Prénom :
<input type="text" name="prenom" /><br />
L'adresse Email :
<input type="text" name="mail" /><br />
Le numéro de téléphone :
<input type="text" name="tel" /><br />
Un numéro de téléphone mobile :
<input type="text" name="gsm" /><br />
L'adresse de votre contact :
<input type="text" name="adresse" /><br />
Le code postal :
<input type="text" name="cp" /><br />
La commune :
<input type="text" name="commune" /><br />
</p>
<input name="soumettre" type="submit" value="Enregistrer">
</form>
et le traitement-contact.php :
<?php
$dom = new DOMDocument();
$dom->load('contact.xml'); // document vide
$nouveauNom->setAttribute("nom", $nom);
$nouveauPrenom->setAttribute("prenom", $prenom);
$nouveauMail->setAttribute("mail", $mail);
$nouveauTel->setAttribute("tel", $tel);
$nouveauGsm->setAttribute("gsm", $gsm);
$nouveauAdresse->setAttribute("adresse",$adresse);
$nouveauCp->setAttribute("cp", $cp);
$nouveauCommune->setAttribute("commune", $commune);
$dom->save('contact/$nom_$prenom.xml');
?>
Bien ça ne marche pas ... j'ai un gentil :
Warning: domdocument() expects at least 1 parameter, 0 given in /home.10.17/vadelio/www/ajax/traitement-contact.php on line 2
Si quelqu'un avait une idée à me soumettre ?
D'avance merci à la communauté,
L.
Fatal error: Call to undefined method: domdocument->load() in /home.10.17/vadelio/www/ajax/traitement-contact.php on line 3
Voilà ma question :
J'ai récupéré un script d'annuaire sur O'Reilly qui me permet de gérer un annuaire avec Ajax dont voici le lien (https://www.oreilly.fr Très grossièrement il fait appel à un fichier *.xml par contact, type toto_dupont.xml
<?xml version="1.0" encoding="UTF-8"?>
<contact>
<nom>Dupont</nom>
<prenom>Toto</prenom>
<mail>toto@dupont-sarl.fr</mail>
<tel>02XXXXXXXX</tel>
<gsm>06XXXXXXXX</gsm>
<adresse>chez lui</adresse>
<cp>00001</cp>
<commune>Dans les nuages</commune>
</contact>
voilou, je trouve ce sript pas mal du tout mais je souhaiterai éditer mes fiches contact prenom_nom.xml via un formulaire sur mon réseau local. Pour ce faire, j'ai tenté un petit form :
<!-- formulaire contact -->
<form method="post" action="traitement-contact.php">
<h2>Ajout d'un contact</h2>
<p>
Le Nom :
<input type="text" name="nom" /><br />
Le Prénom :
<input type="text" name="prenom" /><br />
L'adresse Email :
<input type="text" name="mail" /><br />
Le numéro de téléphone :
<input type="text" name="tel" /><br />
Un numéro de téléphone mobile :
<input type="text" name="gsm" /><br />
L'adresse de votre contact :
<input type="text" name="adresse" /><br />
Le code postal :
<input type="text" name="cp" /><br />
La commune :
<input type="text" name="commune" /><br />
</p>
<input name="soumettre" type="submit" value="Enregistrer">
</form>
et le traitement-contact.php :
<?php
$dom = new DOMDocument();
$dom->load('contact.xml'); // document vide
$nouveauNom->setAttribute("nom", $nom);
$nouveauPrenom->setAttribute("prenom", $prenom);
$nouveauMail->setAttribute("mail", $mail);
$nouveauTel->setAttribute("tel", $tel);
$nouveauGsm->setAttribute("gsm", $gsm);
$nouveauAdresse->setAttribute("adresse",$adresse);
$nouveauCp->setAttribute("cp", $cp);
$nouveauCommune->setAttribute("commune", $commune);
$dom->save('contact/$nom_$prenom.xml');
?>
Bien ça ne marche pas ... j'ai un gentil :
Warning: domdocument() expects at least 1 parameter, 0 given in /home.10.17/vadelio/www/ajax/traitement-contact.php on line 2
Si quelqu'un avait une idée à me soumettre ?
D'avance merci à la communauté,
L.
Fatal error: Call to undefined method: domdocument->load() in /home.10.17/vadelio/www/ajax/traitement-contact.php on line 3
A voir également:
- Annuaire/PHP/Ajax
- Annuaire inversé - Guide
- Annuaire inversé sfr ✓ - Forum Mobile
- Existe t-il un annuaire sfr ✓ - Forum SFR
- Annuaire inversé suisse ✓ - Forum Mail
- Easy php - Télécharger - Divers Web & Internet
1 réponse
<?php
$dom = new DOMDocument('1.0', 'iso-8859-1');
$dom->load('contact.xml'); // document vide
$nouveauNom->setAttribute("nom", $nom);
/////////////////////////////////////// 1er remarque//////////////////////////////////////////////////////
avant de donner un atribute a ton markup , il faut comme meme la definir [$nouveauNom=$dom->createElement("nom")]
puit [$nouveauNom->setAttribute("nom",$nom)]
////////////////////////////////////////////////////////////2eme remarque//////////////////////////////////
votre document xml doit etre valider et bien structutré
<contacts>
<contact>
<nom></nom>
<prenom></prenom>
.
.
.
</contact>
</contacts>
ce que n'est pas claire ds votre code
alors ce que je propose
$root=$dom->getElementByTagName("contacts")->item(0);//defenir le root de ton document
$newContact=$dom->createElement("contact");
$nouveauNom=$dom->createElement("nom");
$nouveauNom->setAttribute("nom",$nom);
$newContact->appendChild($nouveauNom);
$root->appendChild($newContact);//comme ça vous aurez un document structuré comme vous souhaitez
//de meme pour les autres (prenom .....)
$dom->save('contact/$nom_$prenom.xml');//sauv et getez une coup d'oeil sur ton xml doc
?>
$dom = new DOMDocument('1.0', 'iso-8859-1');
$dom->load('contact.xml'); // document vide
$nouveauNom->setAttribute("nom", $nom);
/////////////////////////////////////// 1er remarque//////////////////////////////////////////////////////
avant de donner un atribute a ton markup , il faut comme meme la definir [$nouveauNom=$dom->createElement("nom")]
puit [$nouveauNom->setAttribute("nom",$nom)]
////////////////////////////////////////////////////////////2eme remarque//////////////////////////////////
votre document xml doit etre valider et bien structutré
<contacts>
<contact>
<nom></nom>
<prenom></prenom>
.
.
.
</contact>
</contacts>
ce que n'est pas claire ds votre code
alors ce que je propose
$root=$dom->getElementByTagName("contacts")->item(0);//defenir le root de ton document
$newContact=$dom->createElement("contact");
$nouveauNom=$dom->createElement("nom");
$nouveauNom->setAttribute("nom",$nom);
$newContact->appendChild($nouveauNom);
$root->appendChild($newContact);//comme ça vous aurez un document structuré comme vous souhaitez
//de meme pour les autres (prenom .....)
$dom->save('contact/$nom_$prenom.xml');//sauv et getez une coup d'oeil sur ton xml doc
?>