A tentar explicar...
Vou tentar responder pelo joker.
Portanto, respostas segundo MÉTODO DO JOKER:
Então crio uma página index.php. Esse index conterá a estrutura ou essa estrutura estará também noutro documento áparte que será puxado para dentro do index?
A página index.php contém toda a estrutura. Ou melhor, organiza-a. O header, como é igual em todos, será "puxado" (segundo termos teus
)[já explico isto programaticamente, por enquanto só estou a resumir o conceito] para esse index (só para estar tudo organizadinho).
O que falta? A parte por baixo do header. O conteúdo que muda está numa página à parte. Chamaremos a uma das páginas jogos.php. A página jogos.php contém apenas o conteúdo a ser acrescentado ao index (que contém, neste momento, o header). Mas existe outra página, chamada forum.php. Esta, tal como a jogos.php, contém o conteúdo que unicamente a ela diz respeito. Agora... Temos um index com um header. Falta acrescentar ou uma página ou outra. Através do include isso é possível (o "puxar"). Mas, como decidir qual é a página? Que parte do link informa o servidor? As variáveis do tipo GET. No exemplo do joker, a variável GET que ele usa chama-se pag. Como usá-la? Para atribuir um valor a essa variável basta no link escrever, por exemplo
http://www.site.com/index.php?pag=valor, onde valor seria o valor a atribuir à variável GET. Para não dar erro, verificamos se a variável pag está definida (usando isset, que devolve true ou false, consoante seja verdade ou não). Se estiver definida, utilizar-se-á um switch, que é como que um interruptor com várias posições. Consoante o valor, poder-se-ão tomar várias "decisões". Se o valor for, por exemplo jogos, ele pode fazer o include da página jogos.php. Se for forum pode incluir a página forum.php. Mas não é necessário que seja o nome da página (isto para responder à questão sobre se tens que pôr .html ou não). A análise do valor pode basear-se nos valores f para forum e j para jogos. A escolha é tua. O valor para a qual ele toma a decisão é indiferente, o que importa é associá-los (de preferência de forma intuitiva).
Daí a parte do switch... Dependendo do valor de GET ele irá fazer o include de uma ou de outra. Poderás acrescentar ao switch o default, que é um case especial (não leva a palavra case atrás). O default é a "decisão" que é tomada se o switch não verificar nenhum dos casos (no nosso caso, se o valor da variável pag nem for forum nem for jogos). Poderias incluir uma mensagem de erro, do género "A página que está a tentar aceder não existe.".
Os dois códigos que me deste(o do header e o do conteudo do site) são para colocar os dois no index?! Ou algum será para as páginas de conteudo?
A esta altura já terás percebido que são para colocar os dois no index...
Ao gravar as páginas com os conteudos posso gravar em html? Depois nao aparece no link referencia ao html?? Tipo
http://www.oteusite.com/index.php?pag=conteudo.html ??
Respondida... Até em .txt podes gravar... Lembra-te é de não definir a tag <html> duas vezes (tipo index e header, ou index e conteudo, ou header e conteudo...). Ou pões no index tudo estruturado (que é o que deves fazer) e só colocas as coisas nos sítios (com os includes mais uma vez ou então tens cuidado com esse pormenor.
E nos botoes do menu que linkagem ponho? A da página de conteudo que for puxar através desse botão certo?
Porás o que configurares no switch. Se configurares que o valor para a GET pag deve ser asdfgh se quiseres fazer o include da página qwerty.php, então o link seria
http://www.site.com/index.php?pag=asdfgh, e isto iria fazer o include da página qwerty.php no index.
PHP:
<!-- header -->
<?php
include "http://www.teuurl.com/header.php";
?>
<!-- Aparecerá por cima desta frase todo o header.php -->
<!-- conteúdo do site -->
<?php
if (isset($_GET['pag'])){
switch ($_GET['pag']){
case "jogos":
include "jogos.php";
break;
case "forum":
include "forum.php";
break;
case "asdfgh":
include "qwerty.php";
break;
default:
include "pagnencontrada.php";
break;
}
}else{
include "home.php";
//Se a var não estiver definida é porque o link está assim: http://www.teuurl.com/index.php
}
?>
<!-- footer -->
<?php
include "http://www.teuurl.com/footer.php";
?>
Joker depois confirma que não menti em nada. (Lembra-te que estou a tentar interpretar o teu processo, mas posso mais uma vez ter complicado...)
AH, E DESCULPA O TESTAMENTO!!!