Inserer des données dans une table
Dans ce tutoriel, vous apprendrez comment inclure et évaluer les fichiers en PHP.
Inclure un fichier PHP dans un autre fichier PHP.
Les fonctions include() et require() vous permettent d'inclure le code contenu dans un fichier PHP dans un autre fichier PHP. Inclure un fichier produit le même résultat que copier le script du fichier spécifié et le coller à l'endroit où il est appelé.
Vous pouvez économiser beaucoup de temps et de travail en incluant des fichiers - Il suffit de stocker un bloc de code dans un fichier séparé et de l'inclure où vous voulez en utilisant les instructions include() et require() au lieu de taper le bloc de code entier plusieurs fois. Un exemple typique est l'inclusion des fichiers d'en-tête, de pied de page et de menu dans toutes les pages d'un site Web.
La syntaxe de base des instructions include() et require() peut être donnée par :
include("path/nomFichier.php"); -Or- include "path/nomFichier.php";
require("path/nomFichier.php"); -Or- require "path/nomFichier.php";
Si vous avez une portion de code php que vous insérer dans un certain nombre de pages de votre site par exemple la tête de la page ou le menu général de votre site.
Vous n’allez pas écrire cette portion de code pour chaque page ou à chaque fois vous en avez besoin, vous coupiez et coller le code .
Non il suffit d’écrire ce code une fois dans un fichier spécifique et l’insérer dans vos page quand et où vous le voulez grasse à la fonction include() de php.
Cette fonction insére le contenu d'un fichier PHP dans un autre fichier PHP avant que le serveur l'exécute.
Deux fonctions sont disponible dans PHP pour faire ce travail
La fonction PHP include()
La fonction PHP require()
Ces deux fonctions font le même travail.
Exemple : Copier le code
<html> <body> <?php include("header.php"); ?> <h1>Page d’accueil </h1> <p>Bonjour c’est la page d’accueil de mon site merci pour la visite</p> </body> </html>
Exemple : Copier le code
<ul><li><a href="/default.php">Accueil</a></li> <li><a href="/tutorials.php">tutoriaux</a></li> <li><a href="/references.php">Références</a></li> <li><a href="/examples.php">Exemples</a> </li> <li><a href="/about.php">Qui suis-je ?</a> </li> <li> <a href="/contact.php">Contact </a></li> </ul>
Exemple : Copier le code
<html> <body> <div class="leftmenu"> <?php include("menu.php"); ?> </div> <h1>Bien venu sur mon site.</h1> <p>texte texte</p> </body> </html>
Exemple : Copier le code
<html> <body> <div class="leftmenu"> <ul><li><a href="/default.php">Accueil</a></li> <li><a href="/tutorials.php">tutoriaux</a></li> <li><a href="/references.php">Références</a></li> <li><a href="/examples.php">Exemples</a> </li> <li><a href="/about.php">Qui suis-je ?</a> </li> <li> <a href="/contact.php">Contact </a></li> </ul> </div> <h1>Bien venu sur mon site.</h1> <p>texte texte</p> </body> </html>
Exemple : Copier le code
<html> <body> <?php include("Fichier.php"); echo "Bonjour le monde !"; ?> </body> </html>
Warning: include(fichier.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\fichier.php on line 5
Exemple : Copier le code
<html> <body> <?php require("Fichier.php"); echo "Bonjour le monde !"; ?> </body> </html>
Warning: require(ficher.php) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\fichier.php on line 5
Exemple : Copier le code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title> titre du site </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <link rel="stylesheet" media="screen" type="text/css"title="style"href="style.css"/> </head> <body> <div id="entete"> <!-- entête de la page --> <h1>titre du site</h1> </div> <div id="menu"><!--menu --> <div class="element_menu"> <a href="page1.html">Menu 1</a><br/> </div> <div class="element_menu"> <a href="page2.html">Menu 2</a><br/> </div> <div class="element_menu"> <a href="page3.html">Menu 3</a><br/> </div> </div> <div id="corps"> <!-- corps de la page --> <h2>titre de la page</h2> <p> contenu de la page, contenu de la page, contenu de la page, contenu de la page, contenu de la page, contenu de la page, </p> </div> <div id="bas"> <!-- pied de la page --> <p> contenue du pied dela page </p> </div> </body> </html>
Exemple : Copier le code
body { width:770px; margin:auto; /* Pour centrer notre page */ margin-top:20px; /* Pour éviter de coller avec le haut de la fenêtre du navigateur. */ margin-bottom:20px; /* aussi pour le bas du navigateur */ background-color: #CCCCCC; /* Un fond pour éviter d'avoir un fond blanc */ color:#000000; } #entete /*entête*/ { width:770px; height:100px; margin-bottom: 10px; border: 1px solid black; background-color:#333399; color: #FFFFFF; } /* Le corps de la page */ #corps /*corps*/ { margin-left: 154px; margin-bottom: 5px; padding: 10px; margin-right: 1px; color: #FFFFFF; background-color: #524222; border: 1px solid #FFFFFF; } #menu /*menu*/ { width:140px; /* Il est important de donner une taille au menu */ border: 1px solid #FFFFFF; margin-top: 0px; float:left; /* Le menu flottera à gauche vous pouvez mettre float:right */ padding: 5px; } #bas /*pied de page*/ { height:80px; padding: 5px; margin-bottom: 5px; margin-top: 5px; text-align: center; color: #B3B3B3; background-color: #525262; border: 1px solid #FFFFFF; } .element_menu { color: #00FFFF; border: 2px solid black; margin-bottom: 5px; /* Pour éviter que les éléments du menu ne soient trop collés */ } h1 { text-align: center; color: #00CCFF } h2 { text-align: center; color: #FF00FF }
Exemple : Copier le code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title> titre du site </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <link rel="stylesheet" media="screen" type="text/css"title="style"href="style.css"/> </head> <body> <div id="entete"> <!-- entête de la page --> <h1>titre du site</h1> </div> <div id="menu"><!--menu --> <div class="element_menu"> <a href="page1.php">Menu 1</a><br/> </div> <div class="element_menu"> <a href="page2.phpl">Menu 2</a><br/> </div> <div class="element_menu"> <a href="page3.php">Menu 3</a><br/> </div> </div>
Exemple : Copier le code
<div id="bas"> <!-- pied de la page --> <p> contenue du pied de la page </p> </div> </body> </html>
Exemple : Copier le code
<?php include("haut.php"); ?> <div id="corps"> <!-- corps de la page --> <h2>titre de la page</h2> <p> Contenu de la page, contenu de la page, contenu de la page. Contenu de la page, contenu de la page, contenu de la page. </p> </div> <?php include("pied.php"); ?>
Exemple : Copier le code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title> titre du site </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <link rel="stylesheet" media="screen" type="text/css"title="style"href="style.css"/> </head> <body> <div id="entete"> <!-- entête de la page --> <h1>titre du site</h1> </div> <div id="menu"><!--menu --> <div class="element_menu"> <a href="page1.php">Menu 1</a><br/> </div> <div class="element_menu"> <a href="page2.php">Menu 2</a><br/> </div> <div class="element_menu"> <a href="page3.php">Menu 3</a><br/> </div> </div> <?php include("corps.php"); ?> <div id="bas"> <!-- pied de la page --> <p> contenue du pied dela page </p> </div> </body> </html>
Exemple : Copier le code
<div id="corps"> <!-- corps de la page --> <h2>titre de la page</h2> <p> Contenu de la page, contenu de la page, contenu de la page. Contenu de la page, contenu de la page, contenu de la page. </p> </div>
Exemple : Copier le code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title> titre du site </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <link rel="stylesheet" media="screen" type="text/css"title="style"href="style.css"/> </head> <body> <div id="entete"> <!-- entête de la page --> <h1>titre du site</h1> </div> <div id="menu"><!--menu --> <div class="element_menu"> <a href="page1.php">Menu 1</a><br/> </div> <div class="element_menu"> <a href="page2.php">Menu 2</a><br/> </div> <div class="element_menu"> <a href="page3.php">Menu 3</a><br/> </div> </div> <?php $page = $_GET['page']; include("$page.php"); ?> <div id="bas"> <!-- pied de la page --> <p> contenue du pied dela page </p> </div> </body> </html>
Exemple : Copier le code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title> titre du site </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <link rel="stylesheet" media="screen" type="text/css"title="style"href="style.css"/> </head> <body> <div id="entete"> <!-- entête de la page --> <h1>titre du site</h1> </div> <div id="menu"><!--menu --> <div class="element_menu"> <a href="page1.php">Menu 1</a><br/> </div> <div class="element_menu"> <a href="page2.php">Menu 2</a><br/> </div> <div class="element_menu"> <a href="page3.php">Menu 3</a><br/> </div> </div> <?php if ($_GET['page'] == "menu1") { include("menu1.php"); } if ($_GET['page'] == "menue2") { include("menu2.php"); } if ($_GET['page'] == "menu3") { include("menu3.php"); } ?> <div id="bas"> <!-- pied de la page --> <p> contenue du pied dela page </p> </div> </body> </html> <div id="bas"> <!-- pied de la page --> <p> contenue du pied dela page </p> </div> </body> </html>
Si vous incluez accidentellement le même fichier (typiquement des fonctions ou des classes) plus d'une fois dans votre code en utilisant les instructions include ou require, cela peut causer des conflits. Pour éviter cette situation, PHP fournit les instructions include_once et require_once. Ces instructions se comportent de la même manière que les instructions include et require, à une exception près.
Les instructions include_once et require_once n'incluront le fichier qu'une seule fois, même si on leur demande de l'inclure une seconde fois, c'est-à-dire que si le fichier spécifié a déjà été inclus dans une instruction précédente, il ne sera plus inclus à nouveau. Pour mieux comprendre comment cela fonctionne, prenons un exemple. Supposons que nous ayons un fichier 'mes_fonctions.php' avec le code suivant :
Code
<?php function multiplySelf($var){ /*multiplie la variable par elle-même*/ $var *= $var; echo $var; } ?>
Voici le script PHP dans lequel nous devons inclure le fichier 'mes_fonctions.php'.
Code
<?php // Inclure le fichier require "mes_fonctions.php" ; // Appel de la fonction multiplySelf(2); // Output: 4 echo "<br>"; // Inclure à nouveau le fichier require "mes_fonctions.php" ; // Appel de la fonction multiplySelf(5); // ne s'execute pas ?>
Lorsque vous exécutez le script ci-dessus, vous verrez un message d'erreur ressemblant à ceci : "Fatal error : Cannot redeclare multiplySelf()". Cela se produit parce que le fichier 'mes_fonctions.php' est inclus deux fois, ce qui signifie que la fonction multiplySelf() est définie deux fois, ce qui a amené PHP à arrêter l'exécution du script et à générer une erreur fatale.
Réécrivez maintenant l'exemple ci-dessus avec require_once.
Code
<?php // Inclure le fichier require_once "mes_fonctions.php" ; // Appel de la fonction multiplySelf(2); // Output: 4 echo "<br>"; // Inclure à nouveau le fichier require_once "mes_fonctions.php" ; // Appel de la fonction multiplySelf(5); // Output: 25 ?>
Comme vous pouvez le constater, en utilisant require_once au lieu de require, le script fonctionne comme prévu.
Les instructions include() et require() en PHP font le même travail, elles permettent d'inclure du code dans un documment à partir d'un autre fichier.
La différence principale entre ces deux instructions réside dans la façon dont elles gèrent les erreurs :
Si une erreur se produit lors de l'inclusion d'un fichier avec include(), le script continue à s'exécuter en affichant un avertissement (warning).
Si une erreur se produit lors de l'inclusion d'un fichier avec require(), le script s'arrête immédiatement avec une erreur fatale (fatal error).
En général, il est recommandé d'utiliser require() pour les fichiers qui sont requis pour le fonctionnement correct du script, car si ces fichiers ne sont pas disponibles, cela peut entraîner des erreurs critiques. À l'inverse, include() est plus adapté pour les fichiers optionnels qui peuvent être inclus si disponibles, sans pour autant compromettre le fonctionnement du script en cas d'absence.