Dwie pierwsze opcje, które przychodzą mi do głowy:
- Każda podstrona to plik .PHP, w której na początku robisz coś takiego:
<head>
<?php
include 'header.html';
?>
</head>
W pliku header.html
umieszczasz nagłówki, np.:
<meta charset="UTF-8"/>
<link rel="Stylesheet" href="mojPlik.css"/>
Wówczas, gdy będziesz chciał dodać kolejne dane do nagłówka, zrobisz to tylko tu.
- IMHO lepszy, ale nieco trudniejszy sposób: Przesyłanie nazwy podstrony przez zmienną GET.
Robisz kilka plików z zawartością, np. blog.html
, o-mnie.html
i tak dalej, oraz jedną stronę główną index.php
zawierającą wszystkie wspólne elementy, np. menu.
Zamiast robić linki:
<a href='blog.html'>Blog</a>
<a href='o-mnie.html'>O mnie</a>
Tworzysz zmienne GET w ten sposób:
<a href='?page=blog'>Blog</a>
<a href='?page=about'>O mnie</a>
Następnie w miejscu, w którym chcesz umieścić zawartość pliku, wczytujesz zmienną $_GET['page']
i dołączasz odpowiedni plik:
<?php
switch($_GET['page']) {
case 'blog':
include 'blog.html';
break;
case 'about':
include 'o-mnie.html';
break;
default:
include 'main.html'; //strona domyślna
break;
}
?>
PS.
Lepiej to zrobić ze switchem - jak wyżej - niż dołączać plik po wartości zmiennej:
<?php
include $_GET['page'].".html";
?>
Wydaje się to znacznie prostsze, ale serwer bez odpowiednich zabezpieczeń pozwoli na dołączenie w ten sposób każdego linku. Taki przykładowy haker mógłby podstawić tam dowolny adres URL ze swoim kodem, który zostałby później odpalony przez serwer. Rezultat opłakany.