2014-09-02 7 views
0

J'apprends PhpPhp comprennent pas exécuté

Et je fait une page index.php Et à un moment donné, il contient la ligne

<?php 
include './BaseTemplate.php'; 
?> 

BaseTemplate.php contient beaucoup de plaine commune html qui est égal entre toutes les pages. Il ressemble (mais ce ne sont que quelques lignes):

echo '<script src = "../assets/js/intention.js"></script>'; 
echo '<script src = "../assets/js/context.js"></script>'; 
echo '<head><body>'; 
echo '<table>'; 

Mais ces commandes echo dont get exécution comment dois-je résoudre ce problème?

+0

Peut-être y at-il une erreur dans votre (s) script (s) Php log peut vous aider à résoudre les erreurs/bugs "étranges" – Nicolai

+0

Co uld vous nous montrez votre dossier hierachy – Alex

+0

Avez-vous des balises '' autour de votre code dans le fichier BaseTemplate.php? Les fichiers inclus ont besoin de ceux-là. – Nerixel

Répondre

0

Lorsque vous incluez un fichier dans votre page, le code de ce fichier va entrer dans la page. Donc, si le fichier inclus et la page où vous l'incluez ne sont pas dans le même chemin, cela créera un problème.

Il semble que vous n'obteniez que cela. Donc s'il vous plaît faites le chemin dans BaseTemplate.php en fonction de l'index.php, et cela fonctionnera.

0

Je l'ai résolu Je pensais qu'inclure mettrait tout le code dans une page d'un fichier source php externe. Ce n'est pas le cas, les fichiers include sont des bibliothèques avec des fonctions qui peuvent être appelées.

Donc, pour le résoudre, je récrit le BaseTemplate.php comme celui-ci

<?php 
Function WritePageBase() {  // now i put it all inside a callable function 

    echo '<script src = "../assets/js/intention.js"></script>'; 
    echo '<script src = "../assets/js/context.js"></script>'; 
    echo '<head><body>'; 
    echo '<table>'; 
    } 
?> 

Maintenant mes autres pages peuvent l'appeler comme

<?php 
    include './BaseTemplate.php'; // include the file with functions 
    WritePageBase();    // call the function to echo all html code in page 
    ?> 

ce qui réduit beaucoup de code html qui peut maintenant être édité par un seul fichier (et toutes les autres pages l'utilisant changeront aussi