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 :

Ecrire du HTML et intérpréter du PHP dans un script PHP


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Ecrire du HTML et intérpréter du PHP dans un script PHP
    Je m'explique !

    Je souhaite découper mes pages selon le modèle suivant (simplifié) :
    - header (commun à toutes les pages)
    - content
    - footer (commun à toutes les pages)

    J'ai donc créé une fonction PHP qui, pour chaque page, prend en paramètre (ou depuis un BDD) le contenu du content et génère une page composé du header, content et footer.

    Tout fonctionne donc très bien quand c'est simple : le code HTML est bien généré, la page s'affiche correctement.

    Sauf qu'il y a un problème : comment faire quand mon contenu rentré en paramètre contient à la fois du HTML et des scripts PHP ? Comment faire pour que le résultat obtenu soit le code généré par les scripts PHP et non pas l'instruction en elle-même ?

    J'espère que c'est assez clair et que vous pourrez m'aider à trouver une solution.

    Merci d'avance,

    Julien

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour intepreter le code PHP, tu peux utiliser la fonction eval()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    J'ai donc créé une fonction PHP qui, pour chaque page, prend en paramètre (ou depuis un BDD) le contenu du content et génère une page composé du header, content et footer.
    Pourrais-tu nous donner un extrait du code qui fait cela ?
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation:
    J'ai donc créé une fonction PHP qui, pour chaque page, prend en paramètre (ou depuis un BDD) le contenu du content et génère une page composé du header, content et footer.
    Pourrais-tu nous donner un extrait du code qui fait cela ?
    Le code est très simple. Après avoir réuni l'ensemble de mon header et de mon footer dans des fichiers différents, ainsi qu'un script pour générer le menu, ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      function displayPage($content)
    	{
    		include("header.php");	
    		displayMenu();
    		echo $content;
    		include("footer.php");
    	}
    Pour intepreter le code PHP, tu peux utiliser la fonction eval()
    Ca peut être un élément de réponse auquel j'avais déjà réfléchis mais qui est incomplet. Pour le mettre en oeuvre il faudrait détecter les blocs de PHP dans la chaîne $content et appliquer eval() sur chacun d'entre eux.
    Mais je me demandais s'il n'y avait pas un moyen plus simple de le faire, s'il n'y avait pas une fonction existante qui fait la différence entre le HTML et le PHP et qui ne génère que du HTML.

    Une fonction qui découpe la chaîne $content et interprète le PHP qui est à l'intérieur n'est pas compliquée à faire, mais je voudrais savoir s'il existe quelque chose de plus "propre".

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    attention à utiliser les balises de code

    Sinon, ce n'est pas tout à fait ce que j'espérais.
    Je précise ma question : comment est alimentée la variable $content ?

    Pourquoi cette question : si cette variable est alimentée par une fonction du genre file_get_contents(), le code php n'est pas évalué, alors qu'il l'est avec include ou require.
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Bonjour,

    Tu peux utiliser eval() mais ce n'est pas très élégant.

    J'aurais structuré l'application autrement :
    • un script header.php;
    • un script content.php;
    • un script footer.php.

    Ces scripts ne font qu'afficher des variables précédemment définies, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <p><?php echo $mavar1; ?></p>
    <p><?php echo $mavar2; ?></p>
    Un premier script effectue tous les traitements et inclut ensuite les trois scripts d'affichage...

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup !

    Pourquoi cette question : si cette variable est alimentée par une fonction du genre file_get_contents(), le code php n'est pas évalué, alors qu'il l'est avec include ou require.
    C'est exactement l'information dont j'avais besoin. Je ne connaissais pas cet aspect de include (qui est peut-être le principal ! ). Je trouvais bizarre aussi qu'il faille tout décomposer, etc etc.

    Merci pour ta réactivité mon cher s.n.a.f.u !

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

Discussions similaires

  1. lien retour en htmlet php dans un script PHP
    Par xunil2003 dans le forum Langage
    Réponses: 1
    Dernier message: 25/08/2010, 21h21
  2. Réponses: 3
    Dernier message: 18/04/2010, 11h31
  3. [PHP-JS] des variables PHP dans un script Javascript
    Par jiojioforever dans le forum Langage
    Réponses: 13
    Dernier message: 25/01/2007, 15h24
  4. [PHP-JS] Inserrer du php dans un script javascript
    Par DaD92 dans le forum Langage
    Réponses: 2
    Dernier message: 18/06/2006, 01h17
  5. [PHP-JS] Mettre du php dans javascript
    Par fisico dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/11/2004, 16h55

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