Merci de ta proposition.
Volià : http://qi98.free.fr/
Version imprimable
Merci de ta proposition.
Volià : http://qi98.free.fr/
Un DOCTYPE est unique, ainsi que les balises html, head et body.
Donc quand tu inclus des fichiers en PHP, les fichiers inclus ne doivent pas contenir ces informations.
Regarde le code source généré de ta page, tu verras que le code est erroné.
Pour infos, quand j'ai commencé, je ne faisais que du html.
Ensuite, j'ai tenté de comprendre le dhtml et maintenant c'est le xhtml, sans compter le php.
Comme il y a de grandes différences avec mes débuts, j'essaie de chercher à comprendre !
En définitive, le résultat est pratiquement le même mais expliqué différemment.Citation:
Supposons que tu me dises que c'est violet avec un dégradé vers le bleu très clair :
Et bien, sur d'autres forum on me dira que c'est mauve avec un dégradé vers le magenta !
Ce que j'essaie de te dire c'est que certains forums disent qu'il faut faire ça, et d'autres disent qu'il faut faire autrement parce ça risque de ne pas être normal !
Pigé ?
Tu dois juste te débrouiller pour que dans une page affichée il n'y ait qu'un DOCTYPE et au début du document.
Tes pages HTML incluses n'auront pas de DOCTYPE, mais ça restera des pages HTML.
Pour info, tu peux tout à fait te passer de DOCTYPE, tu n'es même pas obligé de mettre de balise html, body, ou quoi que ce soit, ça reste du HTML. Maintenant, tu veux valider ton document et c'est pour ça que tu te mets toutes ces contraintes de n'avoir qu'un seul DOCTYPE et d'avoir un document bien formé.
En définitive, c'est index.php, puisque les affichages partent de là, non ?
OK, je les mettrais à nu !
J'ai voulu valider tous le .html et sans le Doctype, ça passait pas avec W3C, c'est pour ça que j'en avais mis à tous les .html !
Donc, je ne dois pas me soucier de tous ces .html et faire en sorte qu'il n'y a que les .php qui soient validés ???
Je voyais pas la validation comme ça !
Je pensais qu'il fallait valider toutes les pages (.html et .php)
Il ne faut pas faire valider ton site page par page quand celles-ci ne sont pas appelées directement par le navigateur.
Les pages que tu dois valider sont celles "générales" qui apparaissent une fois le site en ligne.
Je ne sais pas exactement dans ton architecture si c'est index.php que tu dois faire valider, mais prenons un exemple :
index.php :
header.html :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Titre de la page</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <?php include('header.html'); ?> <?php include('content.php'); ?> <?php include('footer.html'); ?> </body> </html>
content.php :Code:<div id="header">Blabla mon titre</div>
footer.html :Code:
1
2
3
4
5
6
7 <div id="content"> Contenu<br /> Contenu<br /> Contenu<br /> Contenu<br /> Contenu<br /> </div>
Ici tu vois que mes fichiers HTML ne comprennent pas de DOCTYPE, ni la balise html.Code:<div id="footer">Blabla mon pied de page</div>
Le fichier à valider est index.php, mais pas par l'upload, parce que le PHP ne sera pas interprété, mais par URL qui donnera ce code généré :
Et ce code est valide.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Titre de la page</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body> <div id="header">Blabla mon titre</div> <div id="content"> Contenu<br /> Contenu<br /> Contenu<br /> Contenu<br /> Contenu<br /> </div> <div id="footer">Blabla mon pied de page</div> </body> </html>
J'ai suivi tes conseils en essayant un modèle de pages (d'après ton squelette).
Je l'ai validé et c'est OK.
Donc, j'ai essayé avec d'autres pages plus graphiques, mais sans fonctions spéciales (javascript), toujours en prenant exemple de ton squelette, et bien ça ne passe pas.
De plus, W3C me ditor, aucune de mes pages n'a ce nbr de lignes.Code:
1
2
3 Line 127, Column 73: document type does not allow element "META" here. ype" content="text/html; charset=iso-8859-1">
Le maxi est de 70 dans index.php ????
Et comme c'est exactement le même meta que j'avais mis sur l'exemple...
Alors si ça marche d'un côté et pas de l'autre, il y a un truc qui m'échappe !...
Le message est pourtant clair .. Il va falloir que tu commences à apprendre l'anglais, ça te dit juste que tu n'as pas le droit de mettre la balise meta là où tu l'as mise, dans le body je pense, pas que le nombre de lignes est trop élevé ...
Et 70 lignes c'est rien, ton fichier est minuscule, j'ai des pages de plusieurs centaines de lignes.
Comme il t'as été expliqué plus haut, la validateur reçoit la page générée par ton serveur. Donc, forcément, si ta page index inclu ta page header, ta page content et ta page footer (pour reprendre l'exemple de Bisûnûrs) alors ta page finale fera 70 + xx + xx + xx lignes.
Lorsque tu es sur ta page qui pose problème à la validation, tu cliques droite, tu fais afficher la source et là, tu vois le code source de ta page générée qui aura bien + de 127 lignes
Merci Candygirl, c'est ce à quoi je pensais.
J'ai percuté mais après l'envoi de mon post.
Comme j'ai expliqué, je ne comprends pas pourquoi avec des pages nue, ça marche, et dès que je les agrémente un peu (tableau, style) ça marche plus.
Surtout que je n'ai pas touché à l'encodage.