Maître astucien ![]() | Bonjour TLM | |||||||
Publicité | ||||||||
| ||||||||
![]() ![]() |
http://www.alsacreations.com/tuto/lire/579-Inclure-un-fichier-dans-un-autre-grace-a-PHP.html | |||||||
![]() ![]() | elle a écrit : Comme la madame du Québec ( | |||||||
![]() ![]() | Linda J'y avais pensé et je pensais que ce n'était pas possible sur du HTML. En plus, il me semble bien que, certains systèmes de sécurité se méfient de ces includes non ? Mais oui, à choisir c'est certainement plus élégant un include qu'un JS. A moins que d'autres méthodes aussi existent... attendons Merci à toi et à Jojo Edit : Oupssss hello Jojo ! (je commence à y voir plus clair alors) Modifié par Jean-Pierre le 20/06/2015 20:40 | |||||||
![]() ![]() | T'as des pages en .html et d'autres en .php ?
Euh, tu voudrais baliser en quoi? | |||||||
![]() ![]() | Bin puisque je n'ai pas exclusivement mes pages en dynamique ; que le HTML soit possible. Oupsss en première lecture j'avais omis de lire le "l"...
| |||||||
![]() ![]() | L'include ne t'oblige qu'à une chose, changer l'extension de html en .php | |||||||
![]() ![]() | Ah oui c'est bien ce que je pensais et Miss Linda m'a lu en travers Donc ça ne me va pas. Je recherche comment faire pour "insérer" sur du HTML (aussi). Bonne nuit | |||||||
![]() ![]() | T'as juste à enregistrer tes pages qui ne le sont pas déjà en .php. Le code HTML ne changera pas... | |||||||
![]() ![]() | ||||||||
![]() ![]() | Jean-Pierre a écrit : A mon avis, cela n'existe pas !!! Perso, j'utilise beaucoup les include depuis quelque temps car c'est très pratique pour des modifs (menu, meta, pied, effetlightbox, etc ..) | |||||||
Astucien ![]() | EDIT J'ai rien dit ! En HTML pur, c'est pas possible. W3C à proposé quelque chose pour l'avenir, mais il faut attendre... http://www.w3schools.com/angular/angular_includes.asp
Tu verras sur cette page que tu as une solution avec JS (AJAX, pour être plus précis).
Modifié par zoulouman le 21/06/2015 11:13 | |||||||
![]() ![]() | zoulouman a écrit : Le js se bloque trop (très) facilement ... | |||||||
![]() ![]() | J'ai appris des tas de choses grâce à cette demande. zoulouman : très intéressant ce lien, je ne connaissais pas ces possibilités. Linda : idem je ne connaissais pas. Là je viens de me faire peur : j'avais un peu trop travaillé mon .htaccess et j'te dis pas ce que ça peu faire ! Bref en faisant l'analyse du contenu de cette expérience, je pense que je vais en rester là avec mon JS tout bête, car je cherche une méthode souple et surtout compatible avec différent types de serveurs = d'autres sites. Je ne souhaite pas renommer mes quelques pages HTML en dynamique, ce, pour diverses raisons ; ne serait-ce que l'index... Je laisse ouverte cette discussion si d'autres éléments intéressants peuvent s'y glisser, merci à vous. Ceci dit : faudrait que je retombe sur le site de centaines de pages en HTML comportant mon souhait en footer.
| |||||||
Astucien ![]() | Désolé de repasser seulement... Tu as PHP et un accès aux .htaccess ? Mais il fallait le dire, ça devient très simple !
1) Tout d'abord, converti ton fichier de copyright en PHP, pour l'exemple, on l'appellera footer.php et tu le places à la racine de ton site. 2) dans le .htaccess racine de ton site, ajoute ce qui suit :
Et voilà ! Ton copyright sera inséré à la fin de tous les fichiers HTML qui passent dans le secteur. EDIT Si ça ne marche pas avec /footer.php, donne le chemin complet vers le fichier. Par exemple : /home/dossier_x/public_html/footer.php Modifié par zoulouman le 25/06/2015 11:52 | |||||||
![]() ![]() | zoulouman, ouiiiiiiiiii je crois que grâce à ton idée, je vais cette fois y voir plus clair et passer à l'action. Mais dis-moi, car je suis du genre hyper perfectionniste (ça me pose des problèmes souvent je sais Mieux : que je fasse pointer une pincée de JS afin d'afficher l'année en cours en ce footer.php ? Ou encore mieux et plus élégant et non bourriné : que j'ajoute une function PHP "date" en ce fichier footer.php Peux-tu stp me dire à ma place vers quelle méthode tu opterais ?
| |||||||
Petit astucien | Et l'iframe... !!! 1- Le fichier distant copyright.php <?php echo "Copyright © 2002-".date("Y"); ?> 2 - qu'on appelle dans page.html <iframe src="copyright.php"></iframe> remarque : en html5, les attributs de l'iframe se définissent en CSS... 3 - bel été à tous. *µ*
| |||||||
![]() ![]() | midnightblue Oui mais je sais que certaines protections se méfient comme de la peste de ce genre "d'include" pouvant cacher des tas d''autres choses. Quoique je ne sais pas trop exactement vers quelle méthode je vais me diriger ; là je commence à avoir le choix. Merci de ton idée | |||||||
Astucien ![]() | Jean-Pierre a écrit : Vu que ton footer est en PHP, le plus élégant serait d'utiliser la fonction date de PHP. A quoi bon appeler un JS pour afficher une année alors que PHP t'offre ça sur un plateau ? En plus, avec un JS, c'est l'année du PC sur lequel la page est affichée que tu aurais. Avec PHP, c'est l'année du serveur sur le fuseau horaire que tu as défini. C'est à dire, la même date pour tout le monde, qu'elle que soit le fuseau du PC client et sans s'inquiéter de savoir si il est à l'heure ou si le navigateur est paramétré pour bloquer les JS.
| |||||||
![]() ![]() | zoulouman Tes remarques sont très justes ! Quand je vais avoir un peu de tranquillité, je vais cogiter un brin et ensuite passer à FileZilla. Merci à toi aussi | |||||||
Petit astucien | Pour quelques pages parmi d'autres l'iframe peut faire l'affaire... Au delà, je trouve la solution de zoulouman ( configuration Apache via .htaccess + fonction date de PHP dans footer.php) particulièrement bien adaptée. Pour l'iframe HTML, certains craignent pour la sécurité et sont plus rassurés par include ou require de PHP. C'est un peu mélanger la cause et l'effet. L'IFRAME que définit le webmaster et qui appelle un fichier correctement défini et identifié ne présente pas de probléme de sécurité particulier, c'est l'IFRAME qui est définie par le pirate et, qui appelle quant à elle, un fichier hostile qui pose probléme...et cet IFRAME hostile peut être injectée justement par la faille ... INCLUDE de PHP ! L'IFRAME injectée par le pirate est rendu en général invisible par les attributs appropriés (exemple : width=0 et height=0). Du style <iframe style="width:0;height:0" src="fichier_hostile.php"></iframe> *µ*
| |||||||
![]() ![]() | midnightblue Je crois que cette fois j'ai fait le plein de toutes les aides apportées grâce aux participants à ce thread. Merci midnightblue
| |||||||
Astucien ![]() | Allez, au boulot ! Ca va, tu n'as pas grand chose à faire. Préparer ton footer et ajouter quelques lignes à ton .htaccess racine.
| |||||||
![]() ![]() | Question bête : j'appelle bien ça d'un "include" ? Car j'ai un espace en footer sous la ligne de code existant, signe que ça mord mais rien en vue par exemple sur ce lien : http://lalimacefolle.com/liens1.html (J'ai nommé en copyright.php) Sur la .htaccess en racine j'ai aussi testé avec chemin court ou entier, mais que dalle sur le HTML. Sur page PHP par contre c'est impec ! Je dois avoir loupé une marche car placer du php en footer d'une page html ça me fait tout drôle
Edit : oupssss hier soir tellement sur les rotules que j'avais oublié de publier ce message ! Re edit : greuuuuu !!! FireFox et équipes de développement : si je sélectionne le source de la ligne copyright située footer en question, ça m'ajoute un commentaire sur cet appel. Mozilla Firefox version 38 : est-ce bien sérieux l'alignement de ce nombre de versions en majeur ? En plus au fil des remaniements FF devient un veau. Super passoire est bien plus légère dorénavant. Bref, si je regarde le source globalement : je n'ai pas cette ligne sous commentaire. (Idem sur la baloche <br /> devenant <br> sous sélection Modifié par Jean-Pierre le 27/06/2015 18:24 | |||||||
Astucien ![]() | Oulala non ! C'est le serveur qui se charge d'inclure le fichier footer.php dans les fichiers HTML C'est déroutant, mais je t'explique.
La première ligne du code Apache que je t'ai donné demande au serveur d'activer le SSI (Server Side Include, rien à voir avec le SSI proposé par certains CMS). C'est ce qu'on appelle l'inclusion côté serveur. Les 2 lignes suivantes demandent à Apache de considérer les fichiers HTML comme des fichiers PHP. La dernière de ces lignes inclus /footer.php dans tous les fichiers HTML. C'est pour ça que ça te fait bizarre de voir du PHP dans du HTML. En réalité, le HTML est du PHP, mais vu qu'il ne contient pas de code PHP, il n'est pas "parsé", son contenu est ignoré. Par contre, ton footer, lui, doit contenir "<?php et ?>" pour être traité correctement. Il ne faut pas ajouter de code à ta page HTML comme tu l'as fait. Ce n'est pas utile. C'est Apache qui se charge d'ajouter le code contenu dans ton footer (ou fichier de copyright) Donc, d'un côté, des pages HTML. De l'autre, un fichier PHP contenant bien "<?php et ?>" Et Apache se charge du reste. Par contre, vérifie bien que mod_include est actif sur ton serveur. Pour terminer, ne fait pas d'include toi même. C'est le serveur qui doit s'en charger. Crée ton fichier PHP et ça doit le faire.
EDIT Au pire, si ton serveur refuse de prendre le HTML comme du PHP, essaye avec un footer.html et juste ça :
RE-EDIT (on va arriver à tout dire Si ça ce ne passe pas comme prévu, pense à regarder ton errors.log et à nous dire ce qui ne vas pas. Une ligne du style .htaccess: DirectoryIndex not allowed herepeut indiquer que ça vient de la configuration du serveur. Ensuite, soit le serveur est à toi et c'est cool, sinon.... Modifié par zoulouman le 28/06/2015 12:06 | |||||||
![]() ![]() | zoulouman J'ai encore modifié, cherché et bidouillé, mais en vain. Je souhaitais avant tout une méthode souple pouvant s'adapter sans se prendre le citron en cas de différents types de serveurs et services d'hébergement. | |||||||
Publicité | ||||||||
| ||||||||
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|