2010-02-09 1 views
5

Если я включаю страницу HTML на PHP странице (например, index.php) со следующим:Вопрос о включении HTML страницы в PHP

<?php 
include ("../../forms/login/form.html"); 
?> 

Тогда будет form.php правильно отображаться в index.php ? Когда я говорю правильно, я имею в виду все его образы и CSS.

Причина, по которой я прошу, заключается в том, что со мной это не так. Я попробовал это, и он покажет form.html, но без какого-либо стиля ...

Любая помощь будет оценена, спасибо!

UPDATE:


В настоящее время, я следующий на forms.html:

<link href="view.css" media="all" rel="stylesheet" type="text/css" /> 
<script src="view.js" type="text/javascript"></script> 
<link href="../../css/style.css" rel="stylesheet" type="text/css" /> 

Теперь forms.html отображается правильно сама по себе.

На index.php, у меня есть:

<head> 
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
<title>UofS :: Residence Life Management System</title> 
<link href="css/style.css" rel="stylesheet" type="text/css" /> 

</head> 

<body> 

<?php 
include ("html/header.html"); 
?> 

<?php 
include ("php/navigation.php"); 
?> 
<br></br> 
<?php 
include ("forms/login/form.html"); 
?> 
<br></br> 
<?php 
include ("html/footer.html"); 
?> 

</body> 

</html> 

Единственная ссылка на это forms.html через PHP включают в себя(). На ней нет указателя стилей. Это страница, которая не загружает form.html правильно. Это неправильно?

Спасибо!

+0

Вот мой любимый способ думать о включать ... его по существу, копирование и вставка ... но намного чище! – Hego555

ответ

10

Путь к вашей таблице стилей, вероятно, относительный. Он должен быть относительно URL-адреса в браузере (index.php). Или сделать это абсолютным путем.

Редактировать с вашего обновления: view.css и view.js не будут загружены, потому что их пути относительны. Сделайте эти пути абсолютными или относительными на странице index.php. Сделать их абсолютными будет заставить их работать всякий раз, когда form.html включен из любого места. Создание относительных путей относительно index.php заставит их работать при включении оттуда, но не при включении из других каталогов.

Еще лучше, если вы знаете, что вам нужно загрузить эти файлы, поместите ссылки на страницу index.php, а не на страницу form.html.

Также обратите внимание, что вы можете использовать пути, которые начинаются с корнем вашего сайта, вы не должны включать в себя имя хоста и имя домена:

<link href="/css/style.css" rel="stylesheet" type="text/css" /> 

Слэш, прежде чем «CSS/style.css» будет сделайте это абсолютным путем, который будет работать на ваших живых и dev-серверах.

Edit ...

Предполагая, что ваш файл index.php находится на корневом уровне, попробуйте это в forms.html:

<link href="/forms/login/view.css" media="all" rel="stylesheet" type="text/css" /> 
<script src="/forms/login/view.js" type="text/javascript"></script> 
<link href="/css/style.css" rel="stylesheet" type="text/css" /> 
+0

Scott: Спасибо вам за помощь. Я предполагаю, что меня смущает то, как я сделал бы пути абсолютными (или относительными) на странице index.php ... Прямо сейчас единственной ссылкой на forms.html являются утверждения php include. Можете ли вы предложить мне пример? – littleK

+0

Вам нужно думать о путях с точки зрения браузера. Это браузер, который будет их интерпретировать и попытаться загрузить файлы css и js. Таким образом, ваши пути идут по пути от index.php (который загружен браузер) не из forms.html (к которому браузер никогда не обращался напрямую). Я уточню свой ответ с некоторыми догадками о структуре вашего каталога. –

+0

Еще раз спасибо за помощь. Мой index.php действительно находится в корневой структуре, однако код, который вы предложили выше, не имеет никакого значения. Hm ... – littleK

0

Он будет включать в файл HTML дословное на странице PHP , Если пути на внешних ресурсах верны на основе URL-адреса страницы PHP, они появятся.

3

показать форму. Html, но без какого-либо стиля ...

Необходимо соответствующим образом скопировать ссылку на файл CSS. Вероятно, лучше использовать абсолютный путь.

ЕСЛИ ДО

<link rel="stylesheet" type="text/css" href="style.css" /> 

ТЕПЕРЬ:

<link rel="stylesheet" type="text/css" href="http://host/path/to/style.css" /> 
+0

Спасибо за вашу помощь, можете ли вы проверить мой обновленный пост? – littleK

+1

Я бы оставил часть 'http: // host', чтобы я мог запускать тот же код на своих dev и live-серверах, иными словами, использование абсолютных путей было бы самым простым решением. – Wim