2010-02-09 12 views
5

Se includo una pagina HTML in una pagina PHP (ad esempio, index.php) con la seguente:Domanda sul compresa la pagina HTML in PHP

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

Poi si form.php visualizzato correttamente in index.php ? Quando dico correttamente, intendo con tutte le sue immagini e CSS.

Il motivo per cui lo chiedo è perché non è il mio caso. Ho provato, e mostrerà il form.html ma senza alcuno stile ...

Qualsiasi aiuto sarebbe apprezzato, grazie!

UPDATE:


Attualmente, ho quanto segue su 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" /> 

display Ora, Forms.html correttamente da sé.

Su index.php, ho:

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

L'unico riferimento al Forms.html è attraverso il php include(). Non ci sono fogli di stile che puntano ad esso. Questa è la pagina che non carica forms.html correttamente. Non è giusto?

Grazie!

+0

Qui è il mio modo preferito di pensare comprendono ... la sua sostanza, copiando e incollando ... ma molto più pulito! – Hego555

risposta

10

Il percorso del foglio di stile è probabilmente relativo. Dovrà essere relativo all'url nel browser (index.php). O renderlo un percorso assoluto.

Modifica dal tuo aggiornamento: view.css e view.js non verranno caricati perché i loro percorsi sono relativi. Rendi questi percorsi assoluti o relativi dalla pagina index.php. Rendendoli assoluti li farà funzionare ogni volta che form.html è incluso da qualsiasi luogo. Rendere i percorsi relativi da index.php li farà funzionare quando inclusi da lì, ma non quando inclusi da altre directory.

Ancora meglio, se si sa che è necessario caricare quei file, inserire i collegamenti nella pagina index.php e non nella pagina form.html.

Si noti inoltre che è possibile utilizzare i percorsi che iniziano con la radice del vostro sito, non è necessario includere l'host e il nome di dominio:

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

La barra prima "css/style.css" volontà rendi questo un percorso assoluto che funzionerà sui tuoi server live e dev.

Modifica ...

Supponendo che il file index.php è al livello principale, provate questo in 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: Grazie per il tuo aiuto. Immagino che ciò che mi confonde sia come renderei i percorsi assoluti (o relativi) dalla pagina index.php ... In questo momento, l'unico riferimento a forms.html è le dichiarazioni di php include. Puoi offrirmi un esempio? – littleK

+0

È necessario pensare ai percorsi dal punto di vista del browser. È il browser che li interpreterà e cercherà di caricare i file css e js. Quindi rendi i tuoi percorsi il percorso da index.php (che il browser ha caricato) non da forms.html (a cui il browser non ha mai avuto accesso diretto). Aggiornerò la mia risposta con alcune ipotesi sulla struttura della directory. –

+0

Grazie ancora per il tuo aiuto. Il mio index.php è effettivamente nella struttura principale, tuttavia il codice che hai suggerito sopra non ha fatto alcuna differenza. Hm ... – littleK

0

includerà il file HTML testualmente nella pagina PHP . Se i percorsi su risorse esterne sono corretti in base all'URL della pagina PHP, verranno visualizzati.

3

mostra il form.html ma senza alcuno stile ...

È necessario regolare il riferimento al file CSS di conseguenza. Probabilmente un'idea migliore per usare il percorso assoluto.

Se prima

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

SOCIETÀ:

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

Grazie per il tuo aiuto, puoi controllare il mio post aggiornato? – littleK

+1

Io tengo fuori la parte 'http: // host' da cui posso eseguire lo stesso codice sui miei server di sviluppo e live, sia che non sia che usare percorsi assoluti sarebbe la soluzione più semplice. – Wim