je cherche à faire de l'ajax en PHP 4.
J'ai donc installé DOMXML et créé mon script utilisé par javascript plus tard.
c'est censé représenter une instance oracle avec des utilisateurs.
Malheureusement ce script ne marche pas. Je l'ai donc modifié pour essayer d'abord de créer un fichier XML correct :
le voici :
<?php
$instance = '.....';
$instance = $_POST['instance'];
$infos_instance = infos_instances(array($instance));
//fonction qui récupère les utilisateurs et les mets dans un tableau
$utilisateurs = utilisateurs_oracle($instance,$infos_instance[$instance]['login'],$infos_instance[$instance]['pass']);
//print_r($utilisateurs);
header('Content-Type: text/xml; charset=UTF-8');
$dom = new domdocument('<?xml version="1.0" encoding="utf-8"?><root />');
$message = $dom->create_element('instance');
$message = $dom->append_child($message);
$message->set_attribute('nom',utf8_encode($instance));
foreach($utilisateurs as $utilisateur){
$user = $dom->create_element('utilisateur');
$user = $message->append_child($user);
$user->set_attribute('nom',utf8_encode($utilisateur));
}
$dom->dump_file("/tmp/test.xml", false, true);
echo $dom->dump_mem();
?>
Et là j'ai cette erreur sous IE :
Code : Tout sélectionner
Un seul élément de niveau supérieur est autorisé dans un document XML.Code : Tout sélectionner
Erreur d'analyse XML : données incompréhensibles après l'élément de document
Emplacement : blabla.php
Numéro de ligne 3, Colonne 1 :<instance nom="..."><utilisateur nom="..."/><utilisateur nom="..."/><utilisateur nom="..."/><utilisateur nom="..."/><utilisateur nom="..."/><utilisateur nom="SYSTEM"/><utilisateur nom="..."/><utilisateur nom="..."/><utilisateur nom="..."/></instancece que je cherche à faire c'est :
- créer correctement un fichier XML
- ajouter l'encodage en utf8 pour javascript
- insérer les utilisateurs sous forme d'élements (pour pouvoir les mettre dans une liste déroulante après)
- envoyer le XML en retour pour la fonction javascript