2010-02-09 41 views
5

Nếu tôi bao gồm một trang HTML trên một trang PHP (nói, index.php) như sau:Câu hỏi về bao gồm trang html trong PHP

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

Sau đó sẽ form.php xuất hiện một cách chính xác trong index.php ? Khi tôi nói chính xác, tôi có nghĩa là với tất cả các hình ảnh và CSS của nó.

Lý do tôi hỏi là vì đó không phải là trường hợp của tôi. Tôi đã thử nó, và nó sẽ hiển thị form.html nhưng không có bất kỳ kiểu dáng nào ...

Bất kỳ trợ giúp nào sẽ được đánh giá cao, cảm ơn!

UPDATE:


Hiện nay, tôi đã sau đây trên 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" /> 

màn Bây giờ, forms.html một cách chính xác bằng cách riêng của mình.

Mở index.php, tôi có:

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

Các tài liệu tham khảo chỉ để forms.html là thông qua php include(). Không có bảng định kiểu nào trỏ đến nó. Đây là trang không tải đúng form.html. Điều này có đúng không?

Cảm ơn!

+0

Dưới đây là cách yêu thích của tôi suy nghĩ về bao gồm ... của nó chủ yếu sao chép và dán ... nhưng rất nhiều bụi! – Hego555

Trả lời

10

Đường dẫn đến biểu định kiểu của bạn có thể là tương đối. Nó sẽ cần phải liên quan đến url trong trình duyệt (index.php). Hoặc làm cho nó một con đường tuyệt đối.

Chỉnh sửa kể từ khi cập nhật của bạn: chế độ xem.css và view.js sẽ không được tải vì đường dẫn của chúng tương đối. Làm cho các đường dẫn đó tuyệt đối hoặc tương đối từ trang index.php. Làm cho họ tuyệt đối sẽ làm cho họ làm việc bất cứ khi nào form.html được bao gồm từ bất cứ nơi nào. Làm cho các đường dẫn tương đối từ index.php sẽ làm cho chúng hoạt động khi được bao gồm từ đó, nhưng không phải khi được đưa vào từ các thư mục khác.

Tốt hơn, nếu bạn biết bạn cần tải các tệp đó, hãy đặt liên kết trên trang index.php chứ không phải trang form.html.

Cũng lưu ý rằng bạn có thể sử dụng đường dẫn bắt đầu với thư mục gốc của trang web của bạn, bạn không cần phải bao gồm các máy chủ và tên miền:

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

Các dấu gạch chéo trước khi "css/style.css" sẽ làm cho một con đường tuyệt đối sẽ hoạt động trên các máy chủ trực tiếp và máy chủ của bạn.

Chỉnh sửa ...

Giả sử rằng file index.php của bạn đang ở cấp độ gốc, thử điều này trong 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: Cảm ơn sự giúp đỡ của bạn. Tôi đoán những gì gây nhầm lẫn cho tôi là làm thế nào tôi sẽ làm cho các đường dẫn tuyệt đối (hoặc tương đối) từ trang index.php ... Ngay bây giờ, chỉ tham chiếu đến forms.html là các câu lệnh php include. Bạn có thể cho tôi một ví dụ không? – littleK

+0

Bạn cần phải suy nghĩ về các đường dẫn từ quan điểm của trình duyệt. Đó là trình duyệt sẽ diễn giải chúng và cố tải các tệp css và js. Vì vậy, làm cho đường dẫn của bạn là đường dẫn từ index.php (trình duyệt được tải) không phải từ forms.html (trình duyệt không bao giờ được truy cập trực tiếp). Tôi sẽ cập nhật câu trả lời của tôi với một số dự đoán về cấu trúc thư mục của bạn. –

+0

Cảm ơn bạn lần nữa vì đã giúp đỡ. Index.php của tôi thực sự là cấu trúc gốc, tuy nhiên mã bạn đề xuất ở trên không có sự khác biệt. Hm ... – littleK

0

Nó sẽ bao gồm các tập tin HTML đúng nguyên văn trong trang PHP . Nếu các đường dẫn trên các tài nguyên bên ngoài là chính xác dựa trên URL của trang PHP thì chúng sẽ hiển thị.

3

hiển thị form.html nhưng không có kiểu dáng nào ...

Bạn cần phải điều chỉnh tham chiếu đến tệp CSS tương ứng. Có lẽ là một ý tưởng tốt hơn để sử dụng đường dẫn tuyệt đối.

NẾU TRƯỚC

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

VỚI DOANH NGHIỆP:

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

Cảm ơn sự giúp đỡ của bạn, bạn có thể xem bài đăng cập nhật của tôi không? – littleK

+1

Tôi sẽ giữ phần 'http: // host' ra khỏi nó để tôi có thể chạy cùng mã trên máy chủ và máy chủ ảo của mình, cả hai cách khác, sử dụng đường dẫn tuyệt đối sẽ là giải pháp đơn giản nhất. – Wim