Yep, Templates are quite spiffy. As Dolce, the template system you've started with is just a simple file inclusion method, where your (html) include files are named in the $header, $body, $footer variables.
DolphinSnot's suggestion to consider moving to a more powerful template system worth considering. .
Perhaps the most commonly mentioned template system around here is FastTemplate, but there are oodles to choose from (including one I wrote myself: http://www.shoutingman.com/interests/web/index.html#template )
The basic idea is to have a template file, a content file, and a template-creation file.
The template file has the general page structure, but rather than having actual content (images, links, text), it has fill-in-the-blank markers, e.g. {BODY_CONTENT}, that indicate "The main body of the document goes here."
The content file, then, has the stuff fills in the blanks in the template file.
The content creation file is the PHP program that is the "template" code. It is the code that takes the template file, finds the markers, and replaces them with the content-file stuff.
With more powerful templates, you can have markers replaced with other templates which are filled-in; the content can be from pre-made files, are made on-the-fly from some other program, or taken from a database; and the template code might be a set of functions that act as a black box to the user, allowing him to just call the appropriate functions from with the program that puts it all together.
Your template system is just about the simplest form, and is a good way to get going quickly on a simple project. However, if the website grows in complexity, you may find it helpful to look at more full-featured template systems.