Rechercher : dans
Par :

Annuaire/PHP/Ajax

Dernière réponse le 24 mai 2008 à 10:09:31 lola2k, le 22 fév 2008 à 11:22:43 
 Signaler ce message aux modérateurs

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 (http://www.oreilly.fr/contenu/2007/06/25/un-gestionnaire-de­-contact-ajax-en-php). 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

Configuration: Linux
Firefox 2.0.0.11

Meilleures réponses pour « annuaire/PHP/Ajax » dans :
Ajax - Javascript - Upload multiple VoirIntroduction Création de l'uploader Script côté serveur (upload.php) Téléchargement des Fichiers Multiples Génériques en Ajax Introduction AJAX Upload vous permet de facilement télécharger plusieurs fichiers sans rafraîchir la page et...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Connexion à un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...
PHP - Administration d'un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Pour plus d'informations sur les fonctions LDAP de PHP, reportez...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

 king nothing, le 24 mai 2008 à 10:09:31

<?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
?>

Répondre à king nothing