Même sans <div></div>, t'inclus et la page "maitre" s'occupe de baliser son contenu (ou pas).Franchement, je ne pensais pas que seul l'écriture entre "<div> et <div.>" suffirait !
Si ta déjà mis le squelette dans ta page maitre, non.Donc, si j'ai bien compris, les pages appelées ne doivent pas contenir de doctype ?
Si tu mets pas de code PHP dans ton document inclut, le format .html convient mais je te conseil de rester partout en .php, comme la précisé plus haut, si un jour tu viens à vouloir mettre du code PHP dans tes fichiers inclus, tu n'aura pas à modifier tout tes "include 'tonfichier.html'"Mais alors, si c'est ça, il est inutile de les renommer en php, seul le html devrait suffire ?
Ta pas compris ^^, dans une page .php on peut inclure le fichier qu'on veut (.html, .txt, .php ...) avec "include" de PHP.Si j'ai une page "php", par exemple, "informations.php", je peux inclure une page "html" , mais pas l'inverse, c'est ça ?
Ta pas compris non plus, en bref, le DOCTYPE d'une page doit être déclaré qu'un seule fois, dans le fichier que tu veux mais doit OBLIGATOIREMENT être correct et pas inclus en plein milieuDonc, si la page appelée depuis "information.php" est par exemple :"bon-a-savoir.html", ce dernier fichier doit contenir le doctype et éventuellement le css.
Exact, les fichiers .html ne compileront pas ton code PHP, ne t'embête pas avec .html, mets .php dès le départ, ça t'évitera de le modifier par la suite.Mais dans la page "bon-a-savoir.html", je ne peux pas faire de inclure php !
J'ai tout simplement mes pages à la racine (contact.php, services.php,...) mais par contre j'inclus dynamiquement mon header (qui inclus mon DOCTYPE) et mon footer qui ferme le </body> et le </html>, dans ces pages en question.Une petite question à titre personnel, je vois que ton site (https://www.c2script.com/) appelle des pages "php" mais je ne vois pas très bien comment tu fais !
C'est totalement différent de ce que tu pas donné ?
<?php
//contact.php
//j'inclus le header, qui applique le DOCTYPE, les CSS,...
//tu peux passer des variables à ton header.php, par exemple le titre (<title>) de ta page :
$title = "Me contacter";
//dans ton header.php tu mets <title><?= $title ?></title>, et ton titre devient dynamique
include 'header.php';
?>
Mon formulaire
<?php
//j'inclus le footer, qui applique la fin du DOCTYPE </body> et </html>
include 'footer.php';Cette fois, je crois avoir compris (quelle patience tu as !Ta pas compris ^^, dans une page .php on peut inclure le fichier qu'on veut (.html, .txt, .php ...) avec "include" de PHP.
Mais si jamais un jour tu viens à vouloir mettre du code PHP dans ta page .html incluse, déjà ça sera pas possible car il sera pas compilé ( le PHP se compile seulement dans un fichier .php) et deuxièmement tu devra modifier tes "include", en mettant .php à la place de .html.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Publicité</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
[b][color=#BF0000]<?php
echo ' <h2>Section</h2>';
echo ' <p class="gras">Section_index</p>';
echo ' <p>Pour mettre ici une petite pub, ou une petite information, etc..</p>';
?>[/color][/b]
</body>
</html>
Ne t'embête pas avec .html, mets .php dès le départ, ça t'évitera de le modifier par la suite.Ta pas compris non plus, en bref, le DOCTYPE d'une page doit être déclaré qu'un seule fois, dans le fichier que tu veux mais doit OBLIGATOIREMENT être correct et pas inclus en plein milieuou plusieurs fois.
<?php
echo '[b][color=#BF0000]';
echo ' <h2>Section</h2>';
echo ' <p class="gras">Section_index</p>';
echo ' <p>Pour mettre ici une petite pub, ou une petite information, etc..</p>';
echo '[/color][/b]';
?>
C'est un peu comme ça ?Je vois que c'est moi qui complique tout pensant faite pour un bien !J'ai tout simplement mes pages à la racine (contact.php, services.php,...) mais par contre j'inclus dynamiquement mon header (qui inclus mon DOCTYPE) et mon footer qui ferme le </body> et le </html>, dans ces pages en question.
Voilà le schéma de mes pages (ici la page contact.php pour l'exemple) :
<?php //contact.php //j'inclus le header, qui applique le DOCTYPE, les CSS,... //tu peux passer des variables à ton header.php, par exemple le titre (<title>) de ta page : $title = "Me contacter"; //dans ton header.php tu mets <title><?= $title ?></title>, et ton titre devient dynamique include 'header.php'; ?> Mon formulaire <?php //j'inclus le footer, qui applique la fin du DOCTYPE </body> et </html> include 'footer.php';
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title><?= $title ?></title>
<!-- je te conseil ici de mettre tes liens vers tes ressources avec un lien absolut pour qu'ils aient toujours le chemin correct, même quand tu sera dans un dossier) -->
<link rel="stylesheet" href="<?= $url_site ?>/style.css">
</head>
<body>
et le contenu du footer.php est simple :</body>
</html>
Les balises courtes "<?=" remplace le traditionnel "echo", pas besoin de mettre un ";" à la fin car c'est juste avec une fermeture, donc :<?php echo $title; ?>
//devient :
<?= $title ?>
//plus sympa et rapide ;)
//ça marche aussi avec du texte seul ou un mélange :
<?= "Mon title est : $title" ?>
//ou :
<?= 'Mon title est : ' . $title ?>
//t'es obligé de concaténer quand t'utilise les simple quote ', mais avec " il compile tes variables
En résumé :<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
Si t'inclus un fichier avec un deuxième DOCTYPE :<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php
include 'ma_page.php'; //contient un DOCTYPE (MAUVAISE PRATIQUE !! Le code source final aura deux DOCTYPE alors qu'il en faut qu'un !)
?>
</body>
</html>
Le résultat sera incorrect (Passe le au validateur d'ailleurs, tu verra ce qu'il te dit ^^ : https://validator.w3.org/#validate_by_input ) :<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
</body>
</html>Parse error: syntax error, unexpected token "<", expecting end of file in C:\laragon\www\sementic-element-html-vide\entete_inc.php on line 6
<?php
echo '<!DOCTYPE html>';
echo '<html lang="fr">';
echo ' <head>';
echo ' <meta charset="UTF-8">';
echo ' <?= "Mon site - $title" ?>';
echo ' <link rel="stylesheet" href="style/style.css">';
echo ' <link rel="stylesheet" href="style/entete_inc.css">';
echo ' <link rel="stylesheet" href="style/pied_inc.css">';
echo ' </head>';
echo '<body>';
echo '<div class="centre"><img src="images/banniere/logo_181x161.gif" alt="Page d\'accueil" width="181" height="161">';
echo '<img src="images/banniere/banniere_940x156.jpg" alt="" width="" height="">';
echo '<img src="images/banniere/logo_181x161.gif" alt="Page d\'accueil" width="181" height="161"></div>';
// les balises fermentes sont dans le footer //
?>
<?php
echo '<!DOCTYPE html>';
echo '<html lang="fr">';
...
Une page .php est identique à .html sauf qu'il comprend le PHP.<!DOCTYPE html>
<html lang="fr">
...
C'est beaucoup plus lisible et plus rapide que de tout mettre dans les echo.echo ' <?= "Mon site - $title" ?>';
echo ' <title>' . $title . '</title>';
// ou
echo " <title>$title</title>";
<title><?php echo $title ?></title>
Forcément si tu mets le html entre les balises <?php ?> sans le mettre dans une chaine avec un echo, bah le php il aime pas...Si je ne mets pas "echo", j'ai un message d'erreur :
Ah, ça y est, je comprends maintenant.Dans une page PHP tu peux utiliser le HTML, t'es pas obligé de parler en PHP, comme tu fait :
J'ai compris et je vais essayer de faire pour un bien.Déjà comme dit two, pas la peine de tout écrire par echo.
Sinon ici c'est pas bon. Déjà il manque la balise <title></title> et le echo va écrire <?= "Mon site - $title" ?> ce qui ne veut rien dire pour le navigateur.echo ' <?= "Mon site - $title" ?>';
Comme ça c'est mieux :echo ' <title>' . $title . '</title>'; // ou echo " <title>$title</title>";
Mais c'est encore mieux de pas tout mettre dans un echo :<title><?php echo $title ?></title>
Forcément si tu mets le html entre les balises <?php ?> sans le mettre dans une chaine avec un echo, bah le php il aime pas...Si je ne mets pas "echo", j'ai un message d'erreur :
Warning: Undefined variable $title in C:\laragon\www\sementic-element-html-vide\entete_inc.php on line 8
Pourtant, ce que m'avait donné two3d était une très bonne idée.