Afficher contenue d'un fichier sur une page web

Jordan31
Invité n'ayant pas de compte PHPfrance

20 juin 2014, 11:11

Bonjour à tous,

Sur une page j'ai la description d'un camping qui s'affiche avec un lien " en savoir plus ". Et j'aimerais que lorsque je clique sur ce lien, il m'affiche sur une autre page (Celle-ci : http://localhost/adaclive/?page_id=51 ), le contenue d'un fichier PHP (Celui la : wp-content\plugins\mon-widget-list\capvern.php?id='.$id1.' ).

Voici mon code :
if($_POST['communes'] == 4)
            {     
                echo '<ul>';
         
                $fichier = 'http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects?$filter=ListingCOMMUNE                                 eq\'TIBIRAN-JAUNAC\'';

                $dom = new DOMDocument('utf-8');
                if (!$dom->load($fichier))
                {
                    die('Impossible de charger le fichier XML');
                }
 
                $recupproperties = $dom->getElementsByTagName('properties');

                foreach ($recupproperties as $properties)
               
                {
                //Cherche les éléments ListingCOMMUNE  
                $nom = $properties->getElementsByTagName('ListingCOMMUNE');
                // récupère les valeurs de ListingCOMMUNE
                $nom1 = $nom->item(0)->nodeValue; 
                //Cherche les éléments ListingPHOTOPRINCIPALE 
                $photo = $properties->getElementsByTagName('ListingPHOTOPRINCIPALE');
                // récupère les valeurs de ListingPHOTOPRINCIPALE
                $photo1 = $photo->item(0)->nodeValue; 
                // Enlève URL
                $photo1 = str_replace('URL : ', '', $photo1);
                // Enlève Libellé 
                $photo1 = str_replace('Libellé :', '', $photo1);
    
                //Cherche les éléments ListingDESCRIPTIONCOMMERCIALE  
                $description = $properties->getElementsByTagName('ListingDESCRIPTIONCOMMERCIALE');
                //récupère les valeurs de ListingDESCRIPTIONCOMMERCIALE
                $description1 = $description->item(0)->nodeValue;  
    
                //Cherche les éléments ListingRESERVATION  
                $location = $properties->getElementsByTagName('ListingRESERVATION');
                //récupère les valeurs de ListingRESERVATION
                $location1 = $location->item(0)->nodeValue; 
         
                //Cherche les éléments SyndicObjectID        
                $id = $properties->getElementsByTagName('SyndicObjectID');
                //récupère les valeurs de SyndicObjectID
                $id1 = $id->item(0)->nodeValue;  
            
    
                echo'<li class="itmList">';   
                
                // Si la longueur de la chaîne de caractère >0
                if(strlen($photo1)>0)
                {
                     $reci3 = preg_split("/[|#;]+/", $photo1);
                       
                      for($i=0; $i < sizeof($reci3);$i++) //pour $i=0, $i < taille de $recip, incrémentation de 1.
                      {
                            echo $reci3[$i]; //Affiche $recip
                      }
                      
                }
                // Sinon si la longueur de la chaîne du caractère = 0
                else
                {
                    $photo1= '<img src="imgreplace.png">'; // mettre une image par défaut
                     echo  '<div class="placeholder">' .$photo1.'</div>'; //afficher cette image
                }    
                
                echo $nom1; 
                
                echo '<p class="description"> '.$description1.'</p>'  ; 
    
                //$recip reçoit la fonction preg_split qui enlève les caratères |#; de $location1 et qui les remplace par un saut de ligne.
                $recip = preg_split("/[|#;]+/", $location1);
                       
                for($i=0; $i < sizeof($recip);$i++) //pour $i=0, $i < taille de $recip, incrémentation de 1.
                {
                        echo $recip[$i] . '<br>'; //Affiche $recip
                }
                
                
                echo '<a href="wp-content\plugins\mon-widget-list\capvern.php?id='.$id1.'">En savoir + sur ce camping</a>';
                
                echo '</li>';
                
                
               
                }/* end foreach */
            
                echo '</ul>';

Une idée ?

Merci à vous !

Mammouth du PHP | 1339 Messages

21 juin 2014, 16:29

Pour commencer, je trouve ton nom de fichier bizarre, non ?
$fichier = 'http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects?$filter=ListingCOMMUNE                                 eq\'TIBIRAN-JAUNAC\'';
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Jordan31
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 10:11

Non ce fichier marche très bien.
Il faut que ça m'affiche sur une autre page (Celle-ci : http://localhost/adaclive/?page_id=51 ), le contenue d'un fichier PHP (Celui la : wp-content\plugins\mon-widget-list\capvern.php?id='.$id1.' ).

Mammouth du PHP | 1339 Messages

23 juin 2014, 10:36

La fonction file_get_contents() ne suffit pas ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Jordan31
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 11:11

Non, j'ai essayé beaucoup de choses mais pas grand chose ne marche.

J'utilise wordpress pour mon site en local. J'ai créé une nouvelle page dans laquelle doit s'afficher le fichier en question.

Eléphant du PHP | 422 Messages

23 juin 2014, 11:24

si si on insite
$path = 'wp-content\plugins\mon-widget-list\capvern.php?id='.$id1; //le chemin ???
echo $path;

$res = file_get_contents($path);
echo $res;
si ca marche pas, montre nous l'url/le path complet (après exécution), l'erreur php ...

++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Jordan31
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 11:44

Enfaite, peu importe ce que j'essaie, rien ne marche, ça me renvoie à la page " http://localhost/adaclive/?page_id=29 " au lieu de m'afficher la page " http://localhost/adaclive/?page_id=54 ".

Voici mon code :
                <form action="http://localhost/adaclive/?page_id=54" method="post">
                <input type="submit" value="En savoir plus" name="infoplus">
                
                <?php
                
                if(isset($_POST['infoplus'])){
                $path = 'wp-content\plugins\mon-widget-list\capvern.php?id='.$id1.''; 
                echo $path;

                $res = file_get_contents($path);
                echo $res;
                }

Eléphant du PHP | 422 Messages

23 juin 2014, 11:48

hello

ou tu récupère $id1 ?

il faut un truc du genre
$id1 = (int)$_GET['page_id'] ;
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Jordan31
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 11:54

Dans ce fichier capvern.php
$idObject = substr($_SERVER['REQUEST_URI'], -16);

$fichier = "http://wcf.tourinsoft.com/Syndication/cdt65/b1155573-8443-49fb-a3d0-bb05526278e6/Objects('".$idObject."')";

ViPHP
xTG
ViPHP | 7331 Messages

23 juin 2014, 13:08

Cette URL, arrives-tu à y accéder en la tapant dans ton navigateur ?
Ce que tu décris ressemble à une redirection forcée...

Jordan31
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 14:02

Oui j'arrive à y accéder

Eléphant du PHP | 422 Messages

23 juin 2014, 15:16

hello

"$idObejct" c'es't pas "$id1"

tu peux faire un echo de $id1 dans ta page ?
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Jordan31
Invité n'ayant pas de compte PHPfrance

23 juin 2014, 15:28

Vous vous écartez de mon problème, mon problème n'est pas "$id1"... Cette " id1 " récupère des informations en fonction d'un camping choisi dans un formulaire.

Ce dernier se trouve dans mon site wordpress (en local). Et lorsque que je choisi un camping dans ce formulaire, il m'affiche une description de ce camping avec, en dessous, un lien " En savoir plus ".

Et j'aimerais que lorsque je clique sur ce lien, il me redirige sur une page dédié à " En savoir plus " ( http://localhost/adaclive/?page_id=51 ) et qu'il m'affiche les infos du fichier : wp-content\plugins\mon-widget-list\capvern.php?id='.$id1.' .

Eléphant du PHP | 422 Messages

23 juin 2014, 17:05

Enfaite, peu importe ce que j'essaie, rien ne marche, ça me renvoie à la page " http://localhost/adaclive/?page_id=29 " au lieu de m'afficher la page " http://localhost/adaclive/?page_id=54 ".
pour moi il y a un truc pas clair avec id ! donc je reste sur ma question.

sinon la réponse au problème est via curl; fopen; file_get_contents() ...
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)