2010-02-09 14 views
5

Gdybym to strony HTML na stronie PHP (powiedzmy, index.php) z następujących powodów:Pytanie o tym stronę HTML w PHP

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

Wtedy form.php pokazać się poprawnie w index.php ? Kiedy mówię poprawnie, mam na myśli wszystkie jego obrazy i CSS.

Powodem, o który pytam, jest fakt, że tak nie jest ze mną. Wypróbowałem go, a to pokaże form.html, ale bez żadnego stylu ...

Każda pomoc będzie doceniona, dzięki!

UPDATE:


Obecnie mam następujący na 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" /> 

Teraz forms.html wyświetla poprawnie sama.

Na index.php, mam:

<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> 

Jedyne odniesienie do forms.html jest przez php include(). Nie ma tam żadnego arkusza stylów. To jest strona, która nie ładuje poprawnie pliku .s.html. Czy to nie prawda?

Dzięki!

+0

Tu jest mój ulubiony sposób myślenia o to ... jego istocie kopiowanie i wklejanie ... ale wiele czystsze! – Hego555

Odpowiedz

10

Ścieżka do arkusza stylów jest prawdopodobnie względna. Musi być względny do adresu URL w przeglądarce (index.php). Lub uczyń to absolutną ścieżką.

Edytuj po aktualizacji: view.css i view.js nie zostaną załadowane, ponieważ ich ścieżki są względne. Ustaw te ścieżki jako absolutne lub względne ze strony index.php. Uczynienie ich absolutnymi sprawi, że będą działać, gdy plik form.html zostanie dołączony z dowolnego miejsca. Tworzenie ścieżek względnych z index.php spowoduje, że będą działać, gdy zostaną włączone, ale nie będą dołączane z innych katalogów.

Co więcej, jeśli wiesz, że musisz załadować te pliki, umieść linki na stronie index.php, a nie na stronie form.html.

Należy również pamiętać, że można użyć ścieżek zaczynających się od korzenia swoim miejscu, nie musi zawierać nazwę hosta i domeny:

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

Ukośnik przed „css/style.css” będzie uczyń tę absolutną ścieżkę, która będzie działać na serwerach live i dev.

Edit ...

Zakładając, że plik index.php jest na poziomie głównym, spróbuj tego w 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: Dzięki za pomoc. Myślę, że to, co mnie mylą, to w jaki sposób uczyniłbym ścieżki absolutne (względne) ze strony index.php ... W tej chwili jedynym odniesieniem do pliku forms.html są instrukcje php. Czy możesz podać mi przykład? – littleK

+0

Musisz myśleć o ścieżkach z punktu widzenia przeglądarki. To przeglądarka zinterpretuje je i spróbuje załadować pliki css i js. Tak więc, aby ścieżki były ścieżkami z pliku index.php (załadowanego przez przeglądarkę), nie pochodzą od forms.html (do przeglądarki nigdy nie był uzyskiwany bezpośredni dostęp). Zaktualizuję moją odpowiedź z pewnymi przypuszczeniami na temat twojej struktury katalogów. –

+0

Jeszcze raz dziękuję za pomoc. Mój index.php rzeczywiście znajduje się w strukturze głównej, jednak kod, który zasugerowałeś powyżej, nie ma znaczenia. Hm ... – littleK

0

To będzie zawierać plik HTML verbatim na stronie PHP . Jeśli ścieżki do zasobów zewnętrznych są poprawne w oparciu o adres URL strony PHP, to pojawią się.

3

pokazać the form.html bez żadnych stylizacji ...

Będziesz musiał odpowiednio dostosować odniesienie do pliku CSS. Prawdopodobnie lepszym pomysłem jest użycie absolutnej ścieżki.

jeżeli przed

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

TERAZ:

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

Dzięki za pomoc, czy możesz sprawdzić mój zaktualizowany wpis? – littleK

+1

Zachowałbym część 'http: // host', dzięki czemu mogę uruchomić ten sam kod na moim serwerze dev i na żywo, oba poza tym, używając bezwzględnych ścieżek byłoby najłatwiejszym rozwiązaniem. – Wim