insertion des données

Petit nouveau ! | 1 Messages

11 oct. 2009, 04:38

Bonjour j'ai des problémes pour inserer des donnees
j'utilise comme serveur apache wampServeur avec la version php 5.2
Je crois que j'ai des conflits entre dom et domxml et en plus je remarque qu'ils sont tous les deux chargés
Je voudrais utiliser domxml c'est pourquoi dans php.ini j'ai ajouter la ligne:
extension=php_domxml.dll

j'ai comme contenu dans le fichier Sujetmemo.xml

Code : Tout sélectionner

<memo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Sujetmemo.xsd"> <sujet> <intitule></intitule> <etudiant></etudiant> <encadreur></encadreur> </sujet> </memo>
et dans le fichier php
<?php
if(isset($_POST['sujet']) && isset($_POST['etudiant']) && isset($_POST['encadreur']) )
     {
if($doc=domxml_open_file("Sujetmemo.xml"))
{

$list=$doc->document_element();$list=$doc->append_child($list);


$suj=$doc->create_element("sujet");$suj=$list->append_child($suj);

$inti=$doc->create_element("intitule");$inti=$suj->append_child($inti);
$intitext=$doc->create_text_node($_POST["sujet"]);$intitext=$inti->append_child($intitext);

$etu=$doc->create_element("etudiant");$etu=$suj->append_child($etu);
$etutext=$doc->create_text_node($_POST["etudiant"]);$etutext=$etu->append_child($etutext);

$enc=$doc->create_element("encadreur");$enc=$suj->append_child($enc);
$enctext=$doc->create_text_node($_POST["encadreur"]);$enctext=$enc->append_child($enctext);


$doc->dump_file("Sujetmemo.xml");
?>
j'obtiens comme erreur
Warning: domnode::append_child() expects parameter 1 to be object, null given in C:\wamp\www\dess\traitementmemo_admin.php on line 10

Fatal error: Call to a member function append_child() on a non-object in C:\wamp\www\dess\traitementmemo_admin.php on line 12

Mammouth du PHP | 2937 Messages

11 oct. 2009, 15:05

L'extension DOM XML est réservé à PHP 4. Pour PHP 5, il faut utiliser l'extension DOM tout court, comme le précise une note du manuel de PHP à propos de DOM XML :
Cette extension n'est plus considérée comme expérimentale. Néanmoins, elle ne sera jamais distribuée avec PHP 5 mais uniquement avec PHP 4. Si vous avez besoin du support DOM XML avec PHP 5, vous pouvez utiliser l'extension DOM. domxml n'est pas compatible avec l'extension DOM.