Bonjour à tous
J'ai acheté il y a peu le livre PHP5 avancé des éditions Eyrolles pour avoir une aide version papier.
Je me suis inspiré du script de la page 558 pour écrire un script et je me heurte toujours à la même erreur.
J'ai donc décidé de retaper le script du livre mot pour mot et l'erreur est toujours la même.
Voici le script:
et voici l'erreur à la ligne 23:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php $xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?> <auteurs> <auteur> <nom>Stéphane MARIEL</nom> <livre>PHP5</livre> <livre>PostgreSQL et PHP</livre> </auteur> <auteur> <nom>Eric DASPET, Cyril PIERRE de GEYER</nom> <livre>PHP5 avancé</livre> </auteur> </auteurs>" ; $document = new DOMDocument() ; $document->loadXML($xml) ; //Recherche des differents auteurs $auteurs = $document->getElementsByTagName('auteur') ; foreach($auteurs as $auteur) { $livres = array() ; $nom = '' ; foreach($auteur->childnodes as $child) { if ($child->nodeType != XML_ELEMENT_NODE) continue ; if ($child->tagName == 'nom') { $nom = utf8_decode($child->firstChild->nodeValue) ; } elseif($child->tagName == 'livre') { $livres[] = utf8_decode($child->firstchild->nodeValue) ; } } echo "<p>$nom : ", implode(', ', $livres), '</p>' ; } ?>
Warning: Invalid argument supplied for foreach() in C:\wamp\www\testxml\indexlivre.php on line 23
Il apparait donc clairement qu'il y a un défaut dans l'argument passé à la boucle foreach ligne 23 que j'ai mis en gras, mais je ne connais pas suffisament PHP pour la résoudre.
Le résultat de ce script devrait normalement ressembler à ça selon l'auteur:
Stéphane MARIEL : PHP5, PostgreSQL et PHP
Cyril Pierre de Geyer, Eric DASPET : PHP5 avancé
Merci à ceux qui sauront m'aider
Je ne veux surtout pas créer de tord à la commercialisation de ce livre qui me semble très bien et dont j'ai eu d'excellent echos et suis pret a retirer ce post une fois ce soucis résolus.
Pour info, j'utilise Wamp dernière version avec PHP5
Hacktarus
Partager