Accueil » Articles » Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

LES INSTRUCTIONS PHP INCLUDE ET REQUIRE

Nous avions déjà parlé de l’instruction include dans l’un des premiers chapitres de ce cours.

Les instructions include et require servent toutes les deux à inclure un fichier à l’intérieur d’un bout de code PhP.

Cependant, il existe une grosse différence entre ces deux instructions : si l’on inclut un fichier avec include et que PhP n’arrive pas à trouver ce fichier, le reste du script s’exécutera quand même tandis que si on fait la même chose avec require, une erreur fatale sera retournée par PhP et le script s’arrêtera.

En effet, dans ce deuxième cas, le fichier est « requis » pour que le script s’exécute (d’où le nom de la fonction « require »).

Voyons immédiatement quelques exemples avec include et require pour bien cerner la différence.

Exemples de scripts utilisant include

Pour ce premier exemple avec include, nous allons commencer par créer la page à inclure que l’on va appeler tout simplement fichier-a-inclure.php.

Dans ce fichier, nous n’allons écrire qu’un simple paragraphe en HTML, qui sera largement suffisant pour notre exemple :

Un paragraphe en HTML

Ensuite, on s’attaque à notre fichier PhP contenant notre instruction include à proprement parler. Encore une fois, on va créer un fichier très simple :

Inclure un fichier avec include en PHP

Et voici donc le résultat lorsque l’on ouvre notre page dans un navigateur :

Inclusion de fichier avec include en PHP

Le fichier fichier-a-inclure.php est parfaitement inclus, et le reste du script est lu normalement. C’est le comportement attendu.

Maintenant, imaginons que nous voulions inclure un fichier et que PhP, pour une raison ou pour une autre, n’arrive pas à accéder à ce fichier. Dans ce nouvel exemple, nous allons appeler ce fichier fichier-introuvable.php (que nous ne créerons donc pas).

On inclut un fichier qui n'existe pas avec include

Et voilà le résultat que l’on obtient lorsqu’on tente d’exécuter ce script :

Lorsqu'include ne trouve pas le fichier à inclure, PHP renvoie une erreur mais le script continue

On s’aperçoit que l’instruction echo placée après notre instruction include dans notre code est tout de même exécutée, bien qu’aucun fichier n’ait pu être inclus. En effet, en cas d’échec, le PhP ne renverra qu’un simple warning et le script continuera à s’exécuter si l’on utilise l’instruction include.

Exemples de scripts utilisant require

Reprenons nos exemples précédents, mais en utilisant cette fois ci l’instruction require.

On commence donc par récupérer notre page fichier-a-inclure.php :

On écrit un petit fichier à inclure en HTML

Ensuite, on crée notre fichier utilisant l’instruction require :
On inclut notre fichier avec require

Finalement, on affiche le résultat :

Le fichier inclus avec require est bien affiché

Tout s’exécute exactement comme dans l’exemple précédent avec include : c’est normal puisque notre fichier ficher-a-inclure.php existe bien et est accessible.

La différence entre require et include va se faire lorsque le fichier n’existe pas ou est inaccessible, ce que je vous propose de tester immédiatement.

Comme pour l’exemple précédent, on va tenter d’inclure un fichier fichier-introuvable.php que nous n’allons pas créer afin qu’il soit effectivement introuvable.

On tente d'inclure un fichier qui n'existe pas avec require en PHP

Finalement, on affiche le résultat :

Si require ne trouve pas le fichier à inclure, PHP renvoie une erreur fatale et le script s'arrête

On constate bien cette fois ci que le code après l’instruction require n’est pas exécuté. En effet, lorsque l’instruction require échoue, PhP va produire une erreur fatale et le script va s’arrêter.

16 commentaires

  1. abdelmalek derouich

    merci infiniment pour ces cours, j’été vraiment nul et maintenant je commence à n’avancer dans la création des sites WEB en utilisant le HTML, le CSS et le PHP et c’est grâce à vos cours minutieusement expliqués.

  2. bonjours ,je suis encore un petit peux débutant dans le codage , j’aimerais faire une page d’inscription et une de connexion en php et mysql je dispose d’une base de donnée . merci d’avance pour votre aide .
    ps : j’adore vos vidéo =)

  3. Bocomba William Edouard

    bonjour,

    je suis William un de vos disciple Abidjan. En lisant le code source du site pierre-girraud.fr j’ai constater un bon nombre de balise link et de balise meta. Et je me pose la question de savoir a quoi elle servent? Par ailleurs je suis impatient de savourer la suite du cour sur php et mysql. Merci d’avance et surtout merci pour tout.

    Amicalement

    William

  4. Bonjour,

    Je te remercie de tout mon cœur Pierre!
    Tu consacre ton temps à partager des choses meilleures.
    Je suis débutant mais je croix de devenir pro, tes tutos sont claires et faciles à comprendre.
    Merci infiniement

  5. Salut, c’est vraiment génial ce que tu fais mais j’ai encore un problème, je n’arrive pas a créer un formulaire pour envoyer un mail ou pouvoir communiquez avec moi (pas un bloc mais vraiment une page de contact).
    Merci de bien vouloir m’aider…

    • Bonjour,

      J’explique déjà tout cela dans mes cours HTML / CSS et PhP… Je ne peux donc que vous conseillez de revoir les parties consacrées à cela (lien pour envoyer un fichier / un mail et partie formulaire HTML et PhP).

      Bonne continuation,
      Pierre

  6. Vous etes genial, j’ai vu vos cours sur youtube et votre adresses qui ma poussé avenir sur votre site. Mr pierre je suis un petit zero de la programmation mais suis pas mal j’aimerai vous assistez dans vos taches pour me former…! merci pour les cours suis content

  7. je voudrais que tu m’explique un peut comment fonctionne les fonction static en phph

  8. bonjour
    merci pour ce cours mais je ne vois pas la partie base de données et pourtant l’intitulé c’est cours complet!!!!

  9. Salut Pierre Giraud,

    Je viens de regarder le tuto sur HTML et CSS, c’est magnifique !!!
    Maintenant j’aimerais creer des sites dynamiques avec PHP MySQL.
    Pourriez vous m’aider s’il vous plait. Merci de votre aide en envoyant des tuto tres tres interessant.

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*