Page 1 sur 1

php et simpleXML probleme en ligne

Posté : 30 juil. 2008, 20:42
par Davee
Bonjour,

j'ai un petit problem avec mes fichiers xml. ça fonctionne en local mais que je met les fichier sur le serveur plus rien ne s'affiche. Normalement la récursive doit parcourrir le fichier xml pour afficher un simple menu texte.

fichier php:
$xml = simplexml_load_file('inc_xml/menu.xml');
//print_r ($xml);
RecurseXML($xml);

//RECURSIVE  _____________________________________
function RecurseXML(&$xml) 
{
    foreach($xml as $part) 
	{
		if($part->children()<>NULL) 
		{	
			
			if (isset($_SESSION['log']))
			{
				if ($part['attr']=='log')
				{
				echo "<a href='".$_SERVER['SCRIPT_NAME'].$part['link']."'>".$part->children()."</a><br>";
				}
			}
			elseif ($part['attr']=='nolog')
			{
				echo "<a href='".$_SERVER['SCRIPT_NAME'].$part['link']."'>$part</a><br>";
			}
			
		RecurseXML($part);
		}
		
    }
	
}
fichier xml:

Code : Tout sélectionner

<?xml version="1.0" encoding="utf-8"?> <menu> <part> <self attr="nolog" link="">Home</self> <self attr="nolog" link="?p=login">log-in</self> <self attr="log" link="?p=logout">log-out</self> <self attr="nolog" link="?p=reguser">register</self> <self attr="log" link="?p=psswd">change password</self> <self attr="log" link="?p=userinfo">info user</self> </part> <part> <bdd attr="nolog" link="?p=cat">category list</bdd> <bdd attr="nolog" link="?p=pak">package list</bdd> </part> <part> <ctt attr="nolog" link="?p=ctt">contact us</ctt> <ctt attr="nolog" link="?p=rss">rss</ctt> </part> </menu>
ce qui me bloque c'est que sur le serveur il ne me met pas de messages d'erreur, il ne m'affiche rien c'est tout.

comment ça se fait que ça marche pas sur le serveur alors qu'en local ça marche (easyphp)?

merci d'avance.

David.

Posté : 31 juil. 2008, 15:44
par Victor BRITO
As-tu vérifié que le serveur a activé PHP 5 et la bibliothèque SimpleXML ?

Posté : 31 juil. 2008, 16:28
par Davee
Ben activer php5.0 ça c'est fait, l'option est disponible chez l'hebergeur, mais j'ai pas la possibilité de modifier le php.ini et donc les bibliothèques.
ça craint!
J'ai essayé avec le domXML, pareille rien ne s'affiche, la fonction "domxml_open_file" n'est pas reconnu.
if(!$dom = domxml_open_file("exemple.xml")) {
  echo "Erreur lors de l'analyse du document\n";
  exit;
}
$root = $dom->document_element();
j'ai essayé avec le dom, là j'ai quelques chose mais je sais pas trop comment gérer les sorties. et parcourrir les données pour afficher ce que je veux.
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
Comment je peux faire avec ce fichier xml et le dom??

Merci.

David.

Posté : 31 juil. 2008, 16:47
par Victor BRITO
En essayant ce script
if (extension_loaded ('SimpleXML')) echo 'SimpleXML peut être utilisé';
else echo 'SimpleXML ne peut pas être utilisé : je ferais mieux de changer d\'hébergeur';
qu'est-ce que ça donne ?

Posté : 01 août 2008, 10:32
par Davee
coucou,

j'ai placé le code sur une p'tite feuille php en ajoutent
print_r(get_loaded_extensions());
et pis ben oui l'extension peut être utilisé alors je comprends pas pourquoi il m'affiche pas les données avec mes petits scripts??

renvoie du fichier.

Code : Tout sélectionner

SimpleXML peut être utiliséArray ( [0] => bcmath [1] => calendar [2] => com_dotnet [3] => ctype [4] => date [5] => ftp [6] => iconv [7] => odbc [8] => pcre [9] => session [10] => libxml [11] => standard [12] => tokenizer [13] => zlib [14] => SimpleXML [15] => dom [16] => SPL [17] => wddx [18] => xml [19] => bz2 [20] => curl [21] => filepro [22] => gd [23] => gettext [24] => mysql [25] => imap [26] => mbstring [27] => openssl [28] => xmlrpc [29] => fdf [30] => sockets [31] => soap [32] => PDO [33] => SQLite [34] => exif [35] => mcrypt )
BTW super merci Vicro BRITO

David.

Posté : 12 août 2008, 14:14
par Davee
Est-ce le script de mon premier post est mal fait, parce que j'ai toujours pas de solution à mon problème.

merci.

David.