Page 1 sur 1

ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 09:57
par anaval
Bonjour,

j'ai cette erreur qui s'affiche:

Warning: DOMDocument::load(): I/O warning : failed to load external entity "http://wcf.tourinsoft.com/Syndication/c ... RAN-JAUNAC')" in C:\wamp\www\projet_ot\listecamping.php on line 27

j'ai cette erreur qui s'affiche lorsque je veux écrire le code suivant
$idObject = $_SERVER['REQUEST_URI'];  
    echo $idObject;
        $fichier = "http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects('".$idObject."')";
        $dom = new DOMDocument('utf-8');
            if (!$dom->load($fichier))
                {
                    die('Impossible de charger le fichier XML');
                }
Alors que quand je remplace le $idObject par un numéro qui correspond à un camping dans mon fichier xml j'ai :
if($_GET['ListingCOMMUNE'] == 'CAPVERN')
        {  
      //header("Location: listitemcapvern.php"); //redirection 
        $fichier = "http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects('HPAMID065FS0003G')";
       // $idObject = substr($_SERVER['REQUEST_URI'], -16);
        $dom = new DOMDocument('utf-8');
            if (!$dom->load($fichier))
                {
                    die('Impossible de charger le fichier XML');
                } 
        }
Et la je n'ai aps d'erreur , seulement je voudrai utiliser la première méthode pour que ce soit dynamique, c'est à dire qu'il me trouve directement l'identifiant , et qu'il me l'affiche dans l'url en utilisant une variable !!!
Une idée ??
Merci à vous

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 10:19
par xTG
Tu veux donc récupérer l'id retourné par /projet_ot/listecamping.php?ListingCOMMUNE=TIBIRAN-JAUNAC si je comprends bien ?
$id = file_get_contents("/projet_ot/listecamping.php?ListingCOMMUNE=TIBIRAN-JAUNAC");
Il faudra peut être indiquer le chemin avec http:// pour éviter qu'il tente de récupérer le code source mais plutôt le code résultant.

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 10:26
par anaval
Bonjour xTG
merci de ta réponse
J'ai essayé de faire un echo de ton code pour voir ce que cela me donnait mais j'ai une erreur cette fois qui me dit :
Warning: file_get_contents(/projet_ot/listecamping.php?ListingCOMMUNE=TIBIRAN-JAUNAC): failed to open stream: No such file or directory in C:\wamp\www\projet_ot\listecamping.php on line 26

Merci de ton aide :)

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 10:34
par anaval
En fait dans mon XML, j'ai un identifiant (numéro de 16 chiffres ) qui correspond à chacun des campings . Et ce que je souhaiterai faire, c'est qu'en fonction de la ville qu'à choisit l'utilisateur, ( avec un formulaire ) , j'ai une liste de camping de cette ville qui s'affiche avec justement les identifiants de camping... Je me fais comprendre ?

Merci :)

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 11:43
par moogli
salut,

ton script est a cible du formulaire ?

Si oui il faut que tu recherche le code avant de faire la concaténation.

@+

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 11:49
par anaval
Bonjour moogli
En fait j'ai mon formulaire avec :
<form method="GET" action="listecamping.php">


</form>

(Je n'ai pas mis le code du formulaire il fonctionne :) )
Et sur listecamping.php j'ai
<?php 

if(!empty($_GET['ListingCOMMUNE']))
{
$idObject = substr($_SERVER['REQUEST_URI'],16);  
    $fichier = "http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects('".$idObject."')";
}
Mais j'ai toujours cette erreur ..
En fait je n'ai pas bien compris Moogli, qu'est ce que je dois modifier dans mon code ?

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 13:39
par moogli
Il faut que tu utilise la valeur issue du formulaire pour $idObject tu la dans le tableau $_GET d'ailleirs tu l'utilise déjà dans le if non ?


@+

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 14:11
par anaval
Je n'ai pas de valeur issus du formulaire pour idobjetct, dans mon formulaire je n'ai que le nom de la ville , et quand on valide le formulaire j'arrive sur la page listecamping.php

Et après en fonction de ce qu'a choisit l'utilisateur, j'affiche mes infos avec mon xml ..

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 14:13
par anaval
Mon formulaire :
<div id="formulaire">
   

    

<form method="GET" action="listecamping.php">
    
  
    
    <p>
       <label for="ListingCOMMUNE">Trouvez votre camping</label><br />
       <select name="ListingCOMMUNE" id="ListingCOMMUNE">
           <option value="ESPARROS">ESPARROS</option>
           <option value="TIBIRAN-JAUNAC">TIBIRAN-JAUNAC</option>
           <option value="CAPVERN">CAPVERN</option>
           <option value="HECHES">HECHES</option>
       </select>
   </p>
    
        <p>
       <input type="submit" value="Go !" />
   </p>
 
</form>
 
 </div> 
    




Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 17:15
par moogli
tu dois bien avoir quelque par de quoi faire la relation entre la ville et le code dont tu as besoin ? (HPAMID065FS0003G par exemple).

c'est information qu'il te faut pour construire ta requête correctement.

Cette info peux très venir du formulaire
<option value="HPAMID065FS0003G">CAPVERN</option> par exemle


@+

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 17:54
par anaval
D'accord Mooglie je vois ce que tu veux dire, dernière question , pour capvern j'ai justement deux camping, donc deux identifiants... Je ne peux pas afficher deux identifiants dans option ... Si ? Merci :)

Re: ERREUR : Warning: DOMDocument::load(): I/O warning ...

Posté : 19 juin 2014, 21:38
par moogli
Nan, a moins que tu n'imagine de séparer les valeurs par une valeur remarquable (virgul, tube etc) et récupérer ensuite les valeurs (avec explode par exemple).

Peut tu faire une requête pour avoir les deux infos en une fois ?


@+