Voici la page de mon index. $ page est défini en haut, puis les sections de la page (en-tête, menu, corps & footer) sont remplacées en bas.Le chargement incorrect de DOCTYPE et de HEAD dans PHP
Le problème que je rencontre est que le DOCTYPE et les données ne se chargent pas en premier, avant le contenu de la page restante. Cela provoque l'exécution du navigateur en mode Quirks. Faites-moi savoir si/comment je peux clarifier cette question.
Merci d'avance pour votre temps!
MISE À JOUR: J'ai supprimé toutes les balises PHP, et définissez le require ('includes/....') aux variables à éliminer lors du chargement de la page. Le DOCTYPE refuse toujours de charger. Le code ci-dessous reflète les changements. Le DOCTYPE est maintenant directement ajouté à la variable $ page, éliminant ainsi tous les espaces. En outre, lors de la visualisation dans le navigateur, j'ai remarqué que cela est montré, même si l'ouverture ne l'est pas. Toutes les feuilles de style et autres contenus sont rendus à l'intérieur de la page.
SOLUTION: La solution aurait pu être plusieurs facteurs, comme l'a fait par plusieurs personnes (tels que les nouvelles lignes étant générées avant le DOCTYPE), mais je ne peux dire avec certitude que la réponse finale est la suivante: L'extérieur les documents appelés dans la page $ n'étaient pas définis sur des variables. Ainsi, ils semblaient être en train de charger avant la page. Une fois que j'ai défini l'include/requires externe aux variables dans leurs documents de respect, le DOCTYPE chargé correctement. Je ne peux pas vous remercier tous pour votre temps.
<?
require('includes/functions/get_content.php');
$header=require('includes/header.php');
$footer=require('includes/footer.php');
$page='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Website Name</title>
<link rel="stylesheet" href="/css/primary_layout.css" type="text/css" charset="utf-8" />
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>
</head>
<body>
<div id="bodyContainer">
%HEADERS%
%MENU%
<div id="bodyContentPane" role="main">
%BODY%
</div> <!-- Close bodyContentPane -->
%FOOTER%
</div>
</body>
</html>';
//############### LOAD BODY CONTENT and SET CATEGORY ###############
$p = $_GET['p'];
switch ($p){
case "port-a-cool":
$filename='includes/content1.html';
$data=get_content($filename);
$product_category = '1';
$body=$data;
break;
case "radiant-heaters":
$filename='includes/content2.html';
$data=get_content($filename);
$product_category = '2';
$body=$data;
break;
default:
$body= include('includes/index.php');
break;
}
//############### DEFINE CONTENT TO LOAD BY CATEGORY ###############
$i = $product_category;
switch ($i){
case "1":
$menu=include('includes/menus/content1.php');
break;
case "2":
$menu=include('includes/menus/content2.php');
break; }
// ############### CHECK FOR UNDEFINED SUB MENU ###############
if ($menu=="")
$menu = include ('includes/menus/default.php');
$page=str_replace('%HEADER%',$header,$page);
$page=str_replace('%MENU%',$menu,$page);
$page=str_replace('%BODY%',$body,$page);
$page=str_replace('%FOOTER%',$footer,$page);
echo $page;
?>
Est-ce que get_content.php, header.php ou footer.php affiche du contenu? Dans ce cas, vous devrez rendre notre doctype et votre tête avant de require() ou include() ces fichiers. – Maritim
Pourquoi avez-vous une variable '$ page' ??? –
Vous avez d'innombrables '?> ' Cracher des espaces blancs avant de sortir tout html. – Musa