IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Code PHP à moitié interprété.


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Code PHP à moitié interprété.
    Salut,

    J'ai un morceau de code qui doit m'afficher les données d'un billet de blog sur une page web. Le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div class="fleft"><h6 class="text2"><?php echo $billet->titre(); ?></h6></div>
                                            <div class="fleft tab-links"><span class="space3"><a href="more.html" class="date"><?php echo $billet->date(); ?><span><?php echo $billet->mois(); ?></span></a></span><span><a href="more.html" class="comments"><img src="vue/images/img-links.png" alt=""><span><?php echo $billet->commentaire(); ?></span></a></span><div class="clear"></div></div>
                                            <div class="clear"></div>
                            <p class="padbot4"><?php echo $billet->corps(); ?></p>
                                        <a href="more.html" class="button">Continuer la lecture</a>
    Lorsque je lance cette page dans mon navigateur web, le code PHP entre les balises <?php ?> est interprété à moitier. Je vois les méthodes de mon objet suivies des parenthèses, du point virgule et de la balise fermante PHP, par exemple : corps(); ?>. En revanche la balise ouvrante PHP, l'objet billet, le tiret et le chevron sont bien interprétés. Je comprend rien là.

    Ce code est dans un fichier que je lit dans un autre fichier avec la fonction file_get_contents()

    Pouvez-vous m'aider ? Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    A ok c'est la fonction file_get_contents() qui me pose problème.

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Je ne comprends pas l'utilité du file_get_contents(), pourquoi pas un include, une fonction ?

    Parceque là, il y a une interprétation des <, > de php en balise html ... Ce qui est peut être du au file_get_contents qui raméne tout à une chaine de caractères (à voir peut être des fonctions à utiliser pour palier ce problème)

  4. #4
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    j'ai envie de dire c'est bien fait: le code est complètement illisible présenté comme ça.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    j'ai envie de dire c'est bien fait: le code est complètement illisible présenté comme ça.
    Qu'est ce que tu trouves illisible ?

    Tu parles du code que j'ai posté ? Si c'est le cas, j'essaye d'apprendre à séparer au maximum le code PHP et HTML. C'est pas bien comme ça ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne comprends pas l'utilité du file_get_contents(), pourquoi pas un include, une fonction ?

    Parceque là, il y a une interprétation des <, > de php en balise html ... Ce qui est peut être du au file_get_contents qui raméne tout à une chaine de caractères (à voir peut être des fonctions à utiliser pour palier ce problème)
    En fait, j'utilisai la classe ci-dessous pour lire des fichiers contenant uniquement du HTML dans d'autres fichiers et ça fonctionnait bien. Maintenant j'aimerais pourvoir l'utiliser pour des fichiers contenant du PHP mais la fonction file_get_contents() me pose problème. C'est pas possible de faire un truc genre $toto = include('tata.php') ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    class Rubrique
    {
    	private $_nom;
     
    	public function __construct()
    	{
    		$nom = file_get_contents('./vue/blog/general.php');
    		$this->_nom = $nom;
    	}
     
    	public function nom()
    	{
    		return $this->_nom;
    	}
     
    	public function setNom($nom)
    	{
    		if (isset($nom))
    		{
    			$nom = file_get_contents('./vue/blog/' . $nom . '.php');
    			$this->_nom = $nom;
    		}
    	}
    }
    Merci

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Je te donne un des moyens de faire des script php avec du html de manière à être plus lisible (il existe d'autres solutions selon ses goûts)
    Voici ton code écrit d'une façon différente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php
    $chaineHtml = '
                   <div class="fleft">
                        <h6 class="text2">'.$billet->titre().'</h6>
                   </div>
                   <div class="fleft tab-links">
                        <span class="space3">
                            <a href="more.html" class="date">'.$billet->date().'
                                <span>'.$billet->mois().'</span>
                            </a>
                        </span>
                        <span>
                            <a href="more.html" class="comments">
                            <img src="vue/images/img-links.png" alt="">
                            <span>'.$billet->commentaire().'</span>
                            </a>
                        </span>
                        <div class="clear"></div>
                    </div>
                    <div class="clear"></div>
                    <p class="padbot4">'.$billet->corps().'</p>
                    <a href="more.html" class="button">Continuer la lecture</a>';
    echo $chaineHtml;
    ?>
    Maintenant l'indentation ne sera peut être pas super bonne, c l'idée que je te donne (faut voir en fonction de ton éditeur) ...

    Pour en revenir à ton problème, tu peux essayer un
    $chaineHtml = file_get_contents('nomFichier')en enlevant les 2 balises <?php et ?> puis de faire un echo $chaineHtml;

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ok merci à vous. Bon finalement j'ai fait comme ça.

    Vue blog.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <div class="tab-content">
         <div class="inner">
     
    	<?php 
     
    	// On affiche la vue des billets.
    	echo $billet; 
     
    	?>
     
         </div>
    </div>
    Vue billet.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php ob_start() ?>
     
    <div class="padbot6">
    	<div class="grid_4 alpha">
    		<img src="vue/images/4page_img1.png" alt="">
    	</div>
        <div class="grid_5 omega">
        	<div class="fleft">
    			<h6 class="text2"><?php echo $billet->titre(); ?></h6>
    		</div>
            <div class="fleft tab-links">
    			<span class="space3"><a href="more.html" class="date"><?php echo $billet->date(); ?><span><?php echo $billet->mois(); ?></span></a></span><span><a href="more.html" class="comments"><img src="vue/images/img-links.png" alt=""><span><?php echo $billet->commentaire(); ?></span></a></span>
    			<div class="clear"></div>
    		</div>
            <div class="clear"></div>
            <p class="padbot4"><?php echo $billet->corps(); ?></p>
       	</div>
        <div class="clear"></div>
    </div>
     
    <?php 
     
    $billets = ob_get_clean();
     
    include_once('blog.php');

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. code PHP non interprété
    Par jlp65 dans le forum Langage
    Réponses: 12
    Dernier message: 17/06/2015, 18h48
  2. [EasyPHP] Code php non interprété et en lecture seule
    Par Anduriel dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 22/11/2010, 17h39
  3. [phpBB] Code PHP non interprété dans un thème subsilver
    Par killpilot dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 24/06/2007, 11h42
  4. Réponses: 4
    Dernier message: 18/02/2007, 20h28
  5. PHP n'interprète pas le code
    Par clarence dans le forum Apache
    Réponses: 2
    Dernier message: 27/12/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo