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 :

Faire fonctionner include()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 238
    Par défaut Faire fonctionner include()
    bonjour
    je n'arrive pas à faire fonctionner include()

    Je voudrais inclure des morceaux de code html dans une page html.
    Pour cela je veux utiliser la fonction include() de php.
    J'écrit donc pour l'instant dans le fichier html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php  include('banniere.html'); ?>
    Le fichier "banniere.html" contient juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    Bonjour tout le monde
    et je m'attends à avoir "bonjour tout le monde" sur ma page html ce qui n'est évidemment pas le cas !

    J'ai aussi tenté avec "banniere.php"

    lequel "banniere.php" contenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php bonjour tout le monde ?>
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php    print("bonjour tout le monde");   ?>
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php    echo("bonjour tout le monde");   ?>
    et rien ne fonctionne.
    Impossible de trouver où que ce soit décrit de manière claire, nette, et précise comment on intègre un fichier dans un fichier html alors que tout le monde fait ça pour gérer les header et les footer.

    Quelqu'un peut-il m'expliquer ce que je dois écrire et où ?
    Merci

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 140
    Par défaut
    Salut
    J'écrit donc pour l'instant dans le fichier html
    si tu as sauvegardé ton fichier en .HTML, la partie instruction PHP est vue comme du texte non pas comme une syntaxe/commande PHP, il te faut sauvegarder ton fichier en .PHP non pas .HTML et ...... que celui-ci soit "jouer" sur un server
    De plus
    toi <?php include('banniere.html'); ?>.
    moi<?php include 'banniere.html'; ?> à mon avis, pas de parenthèses
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 238
    Par défaut
    Après diverses réponses à un autre de mes posts J'ai un peu commencé à subodorer un truc de ce genre. J'avoue avoir du mal à piger ces histoires de client, de serveur et surtout : que fait le navigateur dans toute cette affaire ?

    En résumé de ce que j'ai compris, dès qu'un fichier contient <?php IL DOIT avoir pour extension ".php" sinon le serveur ne l'identifie pas comme nécessitant une intervention de sa part et il le refourgue texto au navigateur.
    Comme il est dit ici et là : il faut renommer le fichier en ".php". Ce qui m'embrouille c'est que l'on dit que l'on peut insérer du code php dans un fichier html. Avec mes mots à moi: NON on ne peut pas. Un fichier html ne doit contenir QUE du html/css.
    En revanche on peut mélanger code html et php dans un fichier php !

    Est-ce que c'est ça ?

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 376
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 376
    Billets dans le blog
    17
    Par défaut
    que fait le navigateur dans toute cette affaire ?
    Le navigateur est côté client, il ne fait qu'interroger le serveur, interpréter le code HTML/CSS/JS réceptionné en réponse, et l'afficher.
    Le code HTML reçu peut être produit par un fichier HTML statique (extension .html) ou un script PHP (extension .php).

    dès qu'un fichier contient <?php IL DOIT avoir pour extension ".php" sinon le serveur ne l'identifie pas comme nécessitant une intervention de sa part et il le refourgue texto au navigateur.
    Voilà. Ainsi il DOIT seulement si tu veux du PHP interprété (ce qui est le cas généralement).

    Ce qui m'embrouille c'est que l'on dit que l'on peut insérer du code php dans un fichier html. Avec mes mots à moi: NON on ne peut pas. Un fichier html ne doit contenir QUE du html/css.
    Avec l'extension .php ton fichier HTML devient un script PHP.

    En revanche on peut mélanger code html et php dans un fichier php !
    On peut mais ce n'est pas recommandé. Il faut toujours séparer au maximum PHP (techno serveur) et HTML/CSS/JS (technos client).

    Idéalement un script PHP contient au maximum ce genre de chose :

    <?php
        // ...
        $page_title = 'Index des utilisateurs';
        $users = $pdo->query($sql)->fetchAll();
        // ...
    ?>
    <!doctype html>
    <html>
    ...
    <h1><?= htmlspecialchars($page_title) ?></h1>
    
    <ul>
        <?php foreach ($users as $user): ?>
            <li><a href="details.php?id=<?= $user->id ?>"><?= htmlspecialchars($user->name) ?></a></li>
        <?php endforeach ?>
    </ul>
    ...
    => On réduit le PHP aux structures de contrôle (conditions/boucles) et à l'affichage.

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 422
    Par défaut
    Citation Envoyé par noradan Voir le message
    Après diverses réponses à un autre de mes posts J'ai un peu commencé à subodorer un truc de ce genre. J'avoue avoir du mal à piger ces histoires de client, de serveur et surtout : que fait le navigateur dans toute cette affaire ?
    Le navigateur c'est le logiciel client (Firefox, Chrome...) que tu as sur ton pc ou sur ton smartphone. C'est lui qui envoie des requêtes vers le serveur en fonction d'une URL (le chemin indiqué dans la barre d'adresse du navigateur) et le serveur lui répond suivant le contenu de cette requête. C'est le principe client-serveur.

    Le serveur est un ordinateur distant qui contient les scripts nécessaires pour construire la réponse (ex: afficher une page wikipedia), ou effectuer une action (ex: envoyer un mail). Cela consiste souvent à consulter une base de données, mais on peut aussi créer des images à la volée, des QR code, des PDF, uploader un fichier, envoyer un mail... ou retourner simplement un contenu html sans avoir recours à Php.

    Dans ce système, tout ce que tu vois à l'écran de ton navigateur provient du serveur, qui d'une manière ou d'une autre va retourner du html puisque c'est le langage d'affichage utilisé par le navigateur. C'est pour cela que l'on dit abusivement que l'on peut insérer du code Php dans un fichier html, car in fine le code Php sert la plupart du temps à construire une réponse html sinon rien ne s'afficherait sur l'écran de ton navigateur. Mais oui, chaque fois que le serveur doit exécuter du Php, le fichier doit porter l'extension ".php" sinon le code Php n'est pas interprété.

    Aussi je reformulerai un peu la réponse de Seb quand il dit que mélanger du Php et du Html n'est pas recommandé, car cette formulation peut être déroutante pour un débutant. Les codes sont bien mélangés dans le sens où Php peut être présent à différents endroits de la page, mais on cherche à organiser l'ensemble du code (Php, Css, Html) pour qu'il soit le plus lisible et le mieux structuré possible notamment pour faciliter la maintenance/évolution du code. Donc typiquement on met tout le code Php possible (requêtes bdd etc.) en haut de page, et à l'intérieur de la balise <!doctype html> uniquement le code Php servant à l'affichage.

    Enfin pour aller un peu plus loin, le navigateur, en plus du Html et du Css pour la mise en page, comprend aussi son propre langage de script "Javascript". Dans la préhistoire, Javascript ne servait que pour des interactions internes au document html, genre onclick sur un bouton on pouvait faire afficher un élément caché déjà contenu dans le html. Puis est venu le temps d'AJAX qui a permis à Javascript de faire des requêtes vers le serveur. Si bien que l'on peut avoir un fichier portant l'extension ".html" mais dont le code Javascript va pouvoir interroger un script Php qui en réponse fournira du html (la plupart du temps) et que Javascript intégrera dans le document. C'est un autre moyen de solliciter un script Php sans avoir à changer l'URL et recharger la page. Pour dire au passage qu'une page ".html" n'est pas forcément statique et peut interagir avec le serveur via Javascript.

Discussions similaires

  1. impossible de faire fonctionner phppgadmin et pgdmin3
    Par le_ben dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 09/12/2004, 14h27
  2. Réponses: 5
    Dernier message: 02/09/2004, 19h53
  3. Faire fonctionner Flash sous Konqueror
    Par Ultra-FX dans le forum KDE
    Réponses: 2
    Dernier message: 20/06/2004, 18h40
  4. Réponses: 5
    Dernier message: 18/06/2004, 14h59
  5. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00

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