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

Eléphanteau du PHP | 24 Messages

19 juin 2014, 09:57

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

ViPHP
xTG
ViPHP | 7331 Messages

19 juin 2014, 10:19

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.

Eléphanteau du PHP | 24 Messages

19 juin 2014, 10:26

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 :)

Eléphanteau du PHP | 24 Messages

19 juin 2014, 10:34

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 :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 juin 2014, 11:43

salut,

ton script est a cible du formulaire ?

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

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 24 Messages

19 juin 2014, 11:49

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 ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 juin 2014, 13:39

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 ?


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 24 Messages

19 juin 2014, 14:11

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 ..

Eléphanteau du PHP | 24 Messages

19 juin 2014, 14:13

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> 
    




Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 juin 2014, 17:15

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


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 24 Messages

19 juin 2014, 17:54

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 :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

19 juin 2014, 21:38

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 ?


@+
Il en faut peu pour être heureux ......