2015-02-25 3 views
-1

У меня есть только базовый веб-сайт, и я не сталкивался с этой проблемой, кроме тех случаев, когда я пытаюсь использовать php для определенных частей моего сайта. Я просто изучаю, как использовать это, и я не понимаю, почему эти концевые теги выделяются. У меня файл сохранен как php, он на моем xampp и все закрыто. Является ли формулировка php не написана правильно?PHP не допускает таблицу стилей

<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" type="text/css" href="css/mystyles.css"/> 
<title>Title</title> 
</head> 
<body> 
    <?php include 'includes/header.php';?> 

    <?php include 'includes/footer.php';?> 
</body> 
</html> 

Вот мой header.php

<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Header</title> 
</head> 
<body> 
    <?php 
     echo "<header> 
       <p>Hello World</p> 
       </header>"; 
    ?> 
</body> 
</html> 

Вот моя таблица стилей также. Все это очень просто, и я просто не понимаю, почему, если я не использую php, он работает, и таблица стилей импортируется, но я использую include, он не импортирует таблицу стилей правильно и говорит, что у меня есть недопустимые закрытия на </body> </html> на index.php

+2

Ваш заголовок header.php должен быть содержимым только внутри тега '

' и включая его. Поскольку у вас уже есть тег ''. –

+1

Вы не можете повторно обновить свой doctype и снова зайти во включенный файл. – Styphon

+0

Включает вставляет файл в точности, где встречается оператор include, поэтому у вас есть несколько тегов , включая один внутри тела. – BigScar

ответ

1

Ваш header.php не должен содержать body тегов. Они уже указаны в вашем основном файле.

header.php должен выглядеть следующим образом:

<?php 
    echo "<header> 
      <p>Hello World</p> 
      </header>"; 
?> 
+0

Это именно то, что было не так, спасибо! –

0

Посмотрите на то, что происходит, когда вы «включить» файл. Если вы просто скопировать содержимое включаемого файла, который вы можете увидеть, что он делает:

<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" type="text/css" href="css/mystyles.css"/> 
<title>Title</title> 
</head> 
<body> 
    <!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Header</title> 
</head> 
<body> 
    <?php 
     echo "<header> 
       <p>Hello World</p> 
       </header>"; 
    ?> 
</body> 
</html> 

    <?php include 'includes/footer.php';?> 
</body> 
</html> 

это выглядит как действительный HTML страницы для Вас? Это не. Ваш header.php должен выглядеть следующим образом:

<header> 
    Hello World 
</header> 

Вот это, вам не нужен открывающий PHP тег, или эхо или любой из остальные (обратите внимание на отсутствие тегов абзаца, а также, вы не должны» t включить их в заголовок). Если вы хотите поместить переменную PHP в ней, то вы можете сделать это:

<header> 
    <?= $myVarContainingHtml ?> 
</header> 

<?= коротка для <?php echo

0

YOu не нужно все в HTML в вашем header.php. В основном это должно быть просто:

<?php echo "<header> 
<p>Hello World</p> 
</header>"; 

, добавив все остальные HTML документа вы включая полный HTML документ в виде HTML-документа, который сломает страницу.

Смежные вопросы