Insérer une iframe en php [Résolu]

Signaler
-
 JeremBel -
Bonjour,

j'ai codé une page web en html dans laquelle j'ai mis une balise iframe affichant une page Facebook (dont le code fut généré automatiquement à partir de https://developers.facebook.com/docs/plugins/page-plugin/).

Puis j'ai repris le même code en php car par la suite je voulait afficher le contenue d'un fichier txt dans un tableau.
J'ai donc utiliser la fonction suivante :
<?php $fichier = 'emplacement du fichier txt';
if ( (file_exists($fichier)) && (is_readable($fichier)) )
{
$text = file_get_contents($fichier);
}
echo $text
?>

Cependant l'iframe de la page Facebook ne s'affiche plus.

Pouvez-vous m'aider ?

3 réponses

Messages postés
27307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020
2028
Bonjour
Il manque un point virgule après le echo
Le code php que j'ai écrit marche j'ai seulement omis de mettre le ; lorsque j'ai posté ce message.
jordane45
Messages postés
27307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020
2028
Dans ce cas il serait bien que tu nous montres l'intégralité du code et pense à utiliser les balises de code pour poster sur le forum sinon c'est illisible
<!DOCTYPE html>
 <head>
  <title>Page test</title>
  <link href="portail.css" rel="stylesheet" type="text/css">
 </head>
 <body>
 
  <?php $fichier = 'emplacement du fichier'; 
   if ( (file_exists($fichier)) && (is_readable($fichier)) )
   { 
    $text = file_get_contents($fichier); 
   }
  ?> 
 
  <!-- photo   -->
  <header id="image">
  </header>
  
<table class="nouvelle"><!-- Notification   -->
   <tr>
       <th>
           Nouvelle : 
       </th>
   </tr>
   <tr>
        <td style="text-align : justify">
            <?php echo $text ?>
        </td>
   </tr>
</table>
<table class="doc"><!-- Documents/Dossiers partagés   -->
   <tr>
      <th id="Tete">
          Document partagés : 
       </th>
   </tr>
   <tr>
        <td>
             <a  class="Corps lien" href="file:///T:/" target="_blank" title="Vers Revue de Press">
                  <img class="folder" src="https://svgsilh.com/svg/2103508-009688.svg" alt="1"> 
                  Revue Press
            </a>
        </td>
   </tr>
   <tr>
         <td>
            <a  class="Corps lien" href="file:///S:/" target="_blank" title="Vers Commun">
                <img class="folder" src="https://svgsilh.com/svg/2103508-009688.svg" alt="2">
                 Commun
            </a>
        </td>
   </tr>
   <tr>
        <td>
              <a  class="Corps lien" href="file:///S:/suivi.pdf" target="_blank" title="Vers Commun">
                  <img class="file" src="https://svgsilh.com/svg/309065-009688.svg" alt="3">
                   Guide
             </a>
        </td>
   </tr>
</table>

  <div id="contener"><!-- Boutons d'accès Maintenance/Informatique   -->
        <div id="maintenance">
            <a class="lien" href="http://glpi/glpi/maintenance/">
                   <img src="http://glpi/glpi/maintenance.png" alt="4">
            </a>
             <p>
                <a class="lien" href="maintenance">
                   Maintenance bâtiment
                 </a>
             </p>
         </div>
         <div id="informatique">
             <a class="lien" href="http://glpi/glpi/informatique/">
                    <img src="http://glpi/glpi/sit.png" alt="5">
               </a>
              <p>
                    <a class="lien" href="http://glpi/glpi/informatique/">
                        Informatique et Téléphonie
                   </a>
               </p>
    </div>   
  </div>


<!-- C'est cette iframe qui s'affiche dans mon fichier html mais qui ne s'affiche plus dans mon fichier php   -->

  <iframe id="publication" src="https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2Ffacebook&tabs=timeline&width=400&height=300&small_header=true&adapt_container_width=false&hide_cover=false&show_facepile=false&appId" width="400" height="300" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>

</body>
Messages postés
27307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020
2028
Si tu retires le ECHO de ta variable $text ... est-ce que ton iframe réapparait ?

Peux tu essayer d'ajouter un htmlspecialchars devant ta variable et voir ce que ça donne au niveau de ton iframe ?
<?php echo htmlspecialchars($text); ?>

Peux tu également activé l'affichage des erreurs php ?
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code




Cordialement,
Jordane
Si je retire le echo rien ne change idem en ajoutant htmlspecialchars
J'ai activé l'affichage des erreurs php en ajoutant :
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

au début de mon code. Qu'est-ce-sue je fais ensuite ?
jordane45
Messages postés
27307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020
2028 > JeremBel
- Ton fichier est enregistré sous quel nom ? quelle extension ?
- Lorsque tu affiches ta pages dans ton navigateur, quelle est l'url qui apparait ?
- Tu bosses en LOCAL sur ton ordi ou ta page est hébergée sur un serveur ?
- Si en local.. tu utilises quoi comme serveur ? Wamp ? Xampp ? easyphp ? Laragon ? autre ??
- Si tu retires complètement le code php, ton iframe fonctionne ?
> jordane45
Messages postés
27307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020

Nom du fichier : test.php
http://localhost:81/portail.php (port php:81 car port 80 utilisé)
WampServer
J'ai un fichier test.html avec le même contenue que mon fichier test.php
Si je retire tout le code php dans mon fichier test.php l'iframe ne s'affiche pas, plus précisément son contenu car j'ai fait un border="3px solid black" la bordure s'affiche bien.
Mon fichier test.html affiche bien l'iframe et son contenu
Messages postés
27307
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 janvier 2020
2028
Si, en retirant le code php du fichier, ton iframe ne s'affiche toujours pas.... c'est que le souci ne vient pas du php.
De plus, Si ton fichier se nomme test.php .... je ne comprend pas comment tu peux avoir, comme url, portail.php


Non pardon je me suis trompé c'est portail.php, test c'est le titre. J'ai essayé sur d'autre navigateur (Edge et Chrome) l'iframe s'affiche. Alors que j'usqu'à présent j'ouvrais uniquement via firefox version 67.0.1.
Tu saurais comment faire pour que firefox m'affiche l'iframe ?
J'ai trouvé le problème c'est que firefox avais bloqué l'iframe.
Merci de m'avoir aidé