Insérer une iframe en php

Résolu/Fermé
JeremBel - Modifié le 11 juin 2019 à 17:00
 JeremBel - 12 juin 2019 à 12:06
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

jordane45
Messages postés
35490
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
4 158
11 juin 2019 à 19:57
Bonjour
Il manque un point virgule après le echo
0
Le code php que j'ai écrit marche j'ai seulement omis de mettre le ; lorsque j'ai posté ce message.
0
jordane45
Messages postés
35490
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
4 158
11 juin 2019 à 20:35
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
0
<!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>
0
jordane45
Messages postés
35490
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
4 158
Modifié le 12 juin 2019 à 10:11
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 ?
https://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code




Cordialement,
Jordane
0
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 ?
0
jordane45
Messages postés
35490
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
4 158 > JeremBel
12 juin 2019 à 11:27
- 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 ?
0
JeremBel > jordane45
Messages postés
35490
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022

Modifié le 12 juin 2019 à 11:44
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
0
jordane45
Messages postés
35490
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
4 158
12 juin 2019 à 11:48
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


0
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 ?
0
J'ai trouvé le problème c'est que firefox avais bloqué l'iframe.
Merci de m'avoir aidé
0