Problème avec les includes et la validation du code html

Fermé
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 - 14 juil. 2021 à 17:33
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 - 26 juil. 2021 à 23:13
bonsoir a tous
je me trouve devant un dilemme
je suis occupé a passer au peigne fin mes erreurs de syntaxe avec l outil https://validator.w3.org/nu/

dans ma page index j ai plusieurs includes qui sont juste des parties de codes

lorsque je passe mon fichier index.php dans le validateur
il m indique qu il me manque la mise en page pour les pages includes
et lorsque je rajoute la mise en page sur les pages includes

il m indique des erreurs dans ma page index

je dois choisir quoi ???
A voir également:

5 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
16 juil. 2021 à 18:13
Bonjour,

La validateur validator.w3.org permet de valider du code HTML mais ne peut pas interpréter du code PHP. Si le fichier index.php que tu essayes de valider contient du code PHP, ce validateur ne pourra pas fonctionner correctement.

Si ton site est accessible sur internet, le plus simple serait d'utiliser le lien http de la page à valider plutôt que d'uploader le fichier index.php.

Pour une réponse plus précise, il faudrait nous partager les messages d'erreurs indiqués par le validateur ainsi que le code html de la page à valider (ou le lien si cette page est accessible en ligne).

Bonne journée,
1
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 187
15 juil. 2021 à 19:51
personne pour me répondre svp
0
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 187
18 juil. 2021 à 21:19
bonjour Pitet
merci pour ton aide

je reviens après avoir testé longuement ce validator.w3.org
et surtout avec les includes
en voici la conclusion
si dans la page il y a des includes
validator.w3.org va les analyser en les incorporant dans le code
donc je prends un exemple
si j ai une page php ou html de structure normale avec un include



<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Titre de la page</title>
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>
<body>
  ...
 <?php include("./include/menu3.php"); ?>
  ...
</body>
</html>



est que le code de l include est ceci

<div class="container">
  <div class="row">
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
  </div>
</div>


il y aura des erreurs car il manque la structure minimum donc un html , body et head
dans le include

si a présent

l include est constitue de cette façon
il dira également qu il y a une erreur car il va trouver deux fois html , body et head

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>


<div class="container">
  <div class="row">
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
  </div>
</div>
    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
    -->
  </body>
</html>





validator.w3.org va interpréter le code de cette façon


<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Titre de la page</title>
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>
<body>
<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>


<div class="container">
  <div class="row">
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
    <div class="col-sm">
      One of three columns
    </div>
  </div>
</div>
    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
    -->
  </body>
</html>
</body>
</html>
0
Salut,

Le W3, c'est l'organisme qui gère et certifie les évolutions du HTML. Lui, il veut du HTML et du CSS ; le PHP il connaît pas. Il veut le code final qui sera vu par l'humain qui va visiter ton site.
Donc pour faire la validation, il faut mettre l'adresse de la page internet ou le code généré sur cette même page (clic-droit > afficher la source).
0
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 187 > Utilisateur anonyme
18 juil. 2021 à 23:02
salut
merci pour la reponse
dans le cas que j explique si je passe le code include sans les balises html body et head il y aura une erreur avec le validateur
donc il a besoin de ces balises minimum

mais si je mets ces balises minimum dans l include et que je passe la page principale dans la validateur il me fera des erreurs car j ai mis des balises dans le include

donc la meilleur solution c est de ne pas mettre dans ce cas de balises html body et head dans l include

puisque quand le validateur va lire mon fichier l include est juste intégrer a mon fichier principal
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié le 18 juil. 2021 à 21:50
Les includes en php sont utilisés pour générer ton document html, et ce coté serveur.
Le validateur html se place coté client. Tout comme le navigateur d'un internaute, il ne se préoccupe pas de comment est généré ton document, tout ce qu'il attend c'est un document html valide.

Ton premier exemple est correct : si tu appel à ce script via un serveur web avec php, il va retourner un document html valide dans ton navigateur. C'est ce rendu final html qu'il faut valider (donc sans code php) :
<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Titre de la page</title>
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>
<body>
  ...
  <div class="container">
    <div class="row">
      <div class="col-sm">
        One of three columns
      </div>
      <div class="col-sm">
        One of three columns
      </div>
      <div class="col-sm">
        One of three columns
      </div>
    </div>
  </div>
  ...
</body>
</html>
0
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 187
25 juil. 2021 à 23:48
bonsoir Pitet

je suis désolé du retard de ma réponse
mais j ai été fort occupé avec d autres petits soucis

je pense que tu n as pas bien compris ma question

je vais essayer de la formuler différemment

je suis occupé a tester mon site qui contient des includes avec du code html grâce au validateur

donc je rentre mon adresse dans le validateur

il me retourne des erreurs car j ai des balises html head body qui sont manquantes dans les includes

donc je modifie mes includes pour mettre toutes les balises html , body head

je reteste et a ce moment il m indique des erreurs car j ai des html des body et des head en trop

il est vrai que pour moi la solution la plus logique c est que quand je regarde le code source il ne puisse y avoir qu'un seul couple html ; body et head
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
26 juil. 2021 à 12:19
Ta dernière phrase est correcte : en regardant le code source html de la page dans la navigateur (clic droit -> Afficher le code source de la page), le document ne doit contenir en effet qu'une seule fois les balises html, head et body.

Peux tu nous donner le lien http de la page que tu essayes de valider si celui-ci est en ligne stp ?
0
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 187 > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
26 juil. 2021 à 23:13
merci pour la reponse
je sais pas si je peux poster l url
car j ai eu des remarques d un admin dans ce sens ????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flexi2202 Messages postés 3795 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 avril 2024 187
26 juil. 2021 à 08:18
Voila je ne sais pas par quel miracle
mais je n ai plus d erreur
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
26 juil. 2021 à 12:21
J'ai répondu à ton précédent message sans faire attention à celui-ci, tant mieux si tu as résolu ton soucis.
N'oublie pas de passer ton poste en résolu si c'est bien le cas.

Bonne journée,
0