Système d'include pour avoir un seul header ou footer.[PHP]

Statut
N'est pas ouverte pour d'autres réponses.
Inscription
20 Août 2014
Messages
26
Réactions
4
Points
46
Hello RG , ces mon premier tuto donc soyer indulgent !
Introduction:


C'est quoi l'include ?
L'include est une déclaration qui prend le texte, le code, les balises etc. qui existe dans le fichier source et le copie dans le fichier spécifié qui utilise l'instruction d'inclusion (que nous allons voir ci-dessous).

A quoi sert-il ?
L'include est très utile lorsque vous souhaitez inclure un même fichier PHP, HTML, ou texte sur plusieurs pages d'un site web comme par exemple un footer ou un header.


La syntaxe:

Il existe deux façon de faire une include:

<?php include 'lien.php'; ?>
<?php include('lien.php'); ?>




Ici, le "lien.php" est la page que l'on veut inclure (exemple: l'header) et le code est a placé dans la page où l'on veut que "lien.php" apparaisse (exemple: l'index) !



Exemples:

Dans cet exemple, nous allons inclure le fichier header (entête du site) et footer (bas du site) à une page de base du site !

Voici le fichier "header.php", l'entête du site:

<html>
<body>
<a href="#">Lien Menu</a> -
<a href="#">Lien Menu</a> -
<a href="#">Lien Menu</a> -
<a href="#">Lien Menu</a> -
<a href="#">Lien Menu</a>
<br>
Voici le fichier "footer.php", le bas du site:

<br>
<i>Copyright Site 2014 - Tous droits réservés</i>

</body>
</html>
Voici le fichier "page.php", une page du site:


<?php include 'header.php';?>

<h1>Voici une page de base</h1>
<p>Le texte de la page</p>
<p>Encore un peu de texte</p>

<?php include 'footer.php';?>
eiXsabE.png

Voici le fichier "vars.php", avec des variables définies:



<?php
$variable1='rouge';
$variable2='bleu';
?>
Si l'on inclut le fichier "vars.php", les variables peuvent être utilisé dans le fichier où l'on fait la requête de l'include:


<html>
<body>

<h1>Bienvenue sur mon blog !</h1>
<?php include 'vars.php';
echo "J'aime le $variable2 mais je préfère le $variable1 .";
?>

</body>
</html>
FjFUidL.png

Le problème des lien relatifs avec différents dossiers:

Lorsque que vous faites une include dans un dossier autre que celui où est présent le fichier source, si des liens relatifs sont présents comme par exemple "css/style.css", celui-ci ne sera plus le bon (explication du système de lien: ) !

Par exemple, si mon header est dans la racine de mon site avec un lien css/style.css, le lien = "racine/css/style.css". Alors que si l'include du header est placé dans un fichier qui se trouve dans le dossier "modules", le lien = "racine/modules/css/style.css".

Pour éviter ce type de problème, il existe plusieurs méthodes, dont celle-ci que j'utilise:



<?php
// Nous récupérons le lien puis nous supprimons le premier slash (/)
$url = substr($_SERVER['REQUEST_URI'], 1);
// Nous modifions le lien pour que l'adresse du fichier restera toujours la même
if(count(explode('/', $url)) == 1) {
$loc = './';
} else {
$loc = '';
for($i=2; $i<count(explode('/', $url)); $i++) {
$loc .= './';
$loc .= '../';
}
}

?>
Puis nous modifions le lien de la sorte: "<?php echo $loc; ?>css/style.css"
J'espère que ce tutoriel vous aura apprit des choses !
Si vous avez un problème, n'hésitez pas à le poster !

 

Lyrix

UX/UI Design
Ancien staff
Inscription
20 Août 2012
Messages
22 672
Réactions
8 160
Points
36 866
Pas mal le tutoriel, cela peut vraiment être très utile, merci pour ton partage :D
 

YTMr1060

Développeur Full-stack
Premium
Inscription
8 Février 2012
Messages
910
Réactions
262
Points
20 618
Merci pour ce tutoriel et il est bien expliquer ;)
 

SunCoderZ

Membre
Inscription
31 Mai 2013
Messages
158
Réactions
11
Points
2 386
C'est drôle il me fait faire la même chose dans sa vidéo ...
(le texte n'est pas le même de ce qu'il dit ...)
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut