8768 sujets

Développement web côté serveur, CMS

Pages :
Bonsoir,

J'ai plusieurs questions sur la fonction include.

Voilà ce que je souhaite faire :
J'ai une page php avec un include header.html, un include page1.php et un include footer.html. Ce que je souhaite, c'est que lorsque je clique sur un lien de mon fichier page1.php qui renvoie vers page2.php, le include page1.php devient page2.php sans que le header et le footer soit à nouveau chargé. Je ne sais pas si je suis très clair. Je n'ai pas trouvé d'explications très clair non plus sur ce sujet. Pouvez-vous m'expliquer, ou me renvoyer vers des sites expliquant?

Sinon quel est votre avis sur cette fonction? J'ai lu des soucis de sécurité, à quoi faut-il faire attention? Cette fonction est-elle obsolète? Y-a-t'il de nouvelles fonctions sur ce principe là? Vaut-il mieux tout simplement tout mettre sur une seule page quitte à répéter les mêmes choses sur toutes les pages?

Merci

Seb
Pour ta première question, le plus simple est de se servir des paramètres GET. Beaucoup de sites utilisent un paramètre pour savoir quelle page inclure.

Question obselescence, pas du tout.
Pour la sécurité, il suffit de savoir s'en servir correctement et il n'y a aucun problème.
clb56 a écrit :
Le terme de pseudo frame rapporté au php est une absurdité. Il n'a de sens que par rapport aux css.
Le tutoriel en question évoque justement l'utilisation d'overflow, non ? Et pourquoi est-ce une absurdité ?
Parce que le rendu de pseudo frame n'a rien à voir avec le fait qu'un dispositif d'include conditionnelle php soit en oeuvre.

La preuve :
http://www.clb56.fr/test_css/pseudo_frame/html/page1.html

Avoir associé le terme de pseudo frame à l'include conditionnelle php n'a eu comme résultat que de plonger les débutants dans une incompréhension totale du dispositif php et dans le plus grand désarroi.

Au passage même la notion d'inclusion de fichier que l'on trouve danns le tuto d'alsa est limite.

Ce que fait include c'est inclure du code dans du code. la notion de fichier n'intervient qu'en tant que support du code en question.

J'en ai déjà dit un mot dans ce post :
http://forum.alsacreations.com/topic.php?fid=20&tid=22614&s=#p172451
Modifié par clb56 (14 Feb 2007 - 10:00)
clb56 a écrit :
Avoir associé le terme de pseudo frame à l'include conditionnelle php n'a eu comme résultat que de plonger les débutants dans une incompréhension totale du dispositif php et dans le plus grand désarroi.
Oui, enfin, je ne vois pas en quoi l'associer aux CSS et donc à l'apparence des frames est préférable.
Julien Royer a écrit :
Oui, enfin, je ne vois pas en quoi l'associer aux CSS et donc à l'apparence des frames est préférable.


+1 Smiley cligne

En terme de pratique ça n'a effectivement aucun intérêt, au contraire (problèmes d'accessibilité notamment).

Mais au moins le terme a un sens et le développeur sait qu'il créé une illusion pour le visiteur.

Le risque avec l'association pseudo frame et php c'est que le développeur s'illusionne lui même. Ce que beaucoup apparemment ne manquent pas de faire.
Modifié par clb56 (14 Feb 2007 - 10:37)
clb56 a écrit :
Mais au moins le terme a un sens et le développeur sait qu'il créé une illusion pour le visiteur.
Oui, du point de vue du visiteur, effectivement. Par contre, du point de vue du développeur, l'aspect PHP est à mon avis prépondérant puisqu'on retrouve l'idée de séparer le contenu de la page en plusieurs fichiers.
clb56 a écrit :
Le risque avec l'association pseudo frame et php c'est que le développeur s'illusionne lui même. Ce que beaucoup apparemment ne manquent pas de faire.
Oui, c'est en effet un problème récurrent vu le nombre de questions à ce sujet. Smiley smile
Modifié par Julien Royer (14 Feb 2007 - 10:41)
Julien Royer a écrit :
l'aspect PHP est à mon avis prépondérant puisqu'on retrouve l'idée de séparer le contenu de la page en plusieurs fichiers Smiley smile


On est bien d'accord, je critiquais l'utilisation du terme pseudo frame php et non l'usage de l'include.

En précisant néanmoins encore ceci :

1. La séparation du contenu de la page en plusieurs fichiers peut se faire aussi bien par des include permanentes que par des include conditionnelles.

2. Un débutant a tout intérêt à se familiariser tout d'abord avec le principe de l'include permanente avant de s'attaquer à une gestion de la composition des pages via l'include conditionnelle.

3. Le caractère formule magique du terme "pseudo frame php" éloigne complètement les débutants de cette démarche d'apprentissage.
clb56 a écrit :
Ce que fait include c'est inclure du code dans du code. la notion de fichier n'intervient qu'en tant que support du code en question.
Ah bon ?
Donc, la "fonction" include() est incapable de faire appel à un fichier texte ?

"Pseudo-frame", ce n'est qu'un terme parmi tant d'autres.
Et la faute n'en revient absolument pas au terme en lui-même mais plutôt aux milliers de tutos remplis d'aneries mis en avant par des pseudos-codeurs qui n'ont pas appréhendés le sujet correctement car eux-mêmes en apprentissage.
clb56 a écrit :
3. Le caractère formule magique du terme "pseudo frame php" éloigne complètement les débutants de cette démarche d'apprentissage.
C'est vrai. Le parallèle avec les frames est assez dangereux.
Julien Royer a écrit :
C'est vrai. Le parallèle avec les frames est assez dangereux.

Dangereux en quoi, à quel moment, où, pourquoi et pour qui ?

phpbb est un mot bien plus dangereux que pseudo-frame Smiley langue
Modifié par Bison (14 Feb 2007 - 11:13)
Bison a écrit :
Dangereux en quoi, à quel moment, où, pourquoi et pour qui ?
Il me semble que la discussion ci-dessus est assez explicite.
Julien Royer a écrit :
Il me semble que la discussion ci-dessus est assez explicite.
Ah ok, bien !
Donc ceci est explicite :
clb56 a écrit :
Ce que fait include c'est inclure du code dans du code.


clb56 a écrit :
2. Un débutant a tout intérêt à se familiariser tout d'abord avec le principe de l'include permanente avant de s'attaquer à une gestion de la composition des pages via l'include conditionnelle.
Pourquoi ?
C'est quoi de "l'include permanente" ?
Bison a écrit :
Ah bon ?
Donc, la "fonction" include() est incapable de faire appel à un fichier texte ?


Ce qu'il me semble bien c'est qu'include peut faire appel à n'importe quel fichier, en récupère le code source et inclut ce code source.

Même exemple que dans l'autre post, si on a en include une image jpg :

test_include.php


<?php
include "bibi_hands.jpg";
?>


Alors on a au final :

http://www.clb56.fr/test_include.php

Bison a écrit :

C'est quoi de "l'include permanente" ?


C'est juste pour parler d'une include non soumise à une condition :

<body>
<?php
include "header.php";
?>
<div>
... tout le contenu propre au document en cours ...
</div>
<?php
include "footer.php";
?>
</body>


par exemple.
Modifié par clb56 (14 Feb 2007 - 12:01)
Bison a écrit :

Dangereux en quoi, à quel moment, où, pourquoi et pour qui ?


Ben au moment de toute crise de nostalgie des frame Smiley cligne

Comme cette nostalgie semble bien être un réflexe atavique irrépressible de beaucoup de développeurs et bien on peut considérer qu'il y a du beau dégat en perspective.
Modifié par clb56 (14 Feb 2007 - 12:08)
clb56 a écrit :
Ben au moment de toute crise de nostalgie des frame Smiley cligne

Au lieu de présenter le mot "pseudo-frame" comme "coupable de", il serait sans doute plus intéressant de donner au débutant une notion de ce qu'étaient (ou plutôt que sont) les frames.
Parce que tu a beau parler de nostalgie, les frames existent toujours. (et ne sont malheureusement pas prêts de disparaître)
Ce n'est pas parce qu'il y a de moins en moins de loups en Europe qu'il faut dire aux enfants que ça n'existe pas ou que le mot "loup" ne désigne en fait qu'un gros chien.

clb56 a écrit :
Comme cette nostalgie semble bien être un réflexe atavique irrépressible de beaucoup de développeurs et bien on peut considérer qu'il y a du beau dégat en perspective.

Donc en gros t'es occupé à dire que le problème vient du développeur d'expérience ayant connu les frames.
Faudrait plutôt dire à tous ces apprentis codeurs qui réalisent des tutos auxquels ils ne comprennent parfois rien eux-mêmes ce qu'est la notion de pseudo-frame.

Nostalgie, atavisme, irrépressible...
C'est clair avec une expérience de quelques années on n'est forcément qu'un extra-terrestre d'un autre âge.
La vis sans fin est aussi confondue à la vis d'Archimède.
Est-ce la faute d'Archimède ?
Bison a écrit :

C'est clair avec une expérience de quelques années on n'est forcément qu'un extra-terrestre d'un autre âge.


Mais non...

Simplement humain, trop humain Smiley cligne

PS :

je viens de changer de pseudo, donc c'est bien clb56 qui répond.
Modifié par Christian Le Bouler (14 Feb 2007 - 13:53)
Bison a écrit :

Donc en gros t'es occupé à dire que le problème vient du développeur d'expérience ayant connu les frames.


Non au contraire puisque atavique renvoit à un déjà présent qui nous transit hors toute expérience personelle.
Modifié par Christian Le Bouler (14 Feb 2007 - 13:56)
Pages :