Para que possamos exercitar a atualização de mais de uma área da tela, fiz uma pequena mudança nesta aplicação. Coloquei o título da página atual ("Mudanças na Aplicação") separado do conteúdo, logo abaixo do título principal. Embora a mudança seja completamente inútil, vai ser um bom exercício.
No index.php, a única mudança foi a inclusão do título, assim:
<h2 id="titulo"><?=titulo($i)?></h2>
No funcoes.php alterei a função leconteudo, para não retornar o título, e criei a titulo, que retorna apenas o título:
/* Lê o conteúdo de índice n. Aqui estou lendo de arquivos html no disco, para não perdermos tempo com coisas que fogem ao escopo do artigo. No mundo real, geralmente você vai ler isso aqui do banco de dados, ou usar uma função pronta disponibilizada por seu CMS. */ function leconteudo($n){ $conteudo=split("\n",file_get_contents("$n.html")); $t=""; for($i=1;$i<sizeof($conteudo);$i++){ $t=$t.$conteudo[$i]."\n"; } return $t; } /* Lê o título de índice n. */ function titulo($n){ $t=split("\n",file_get_contents("$n.html")); return $t[0]; }
Sei que essa não é a maneira mais elegante de se fazer isso em PHP, mas eu não queria perder muito tempo com os detalhes server side, uma vez que você pode estar usando outra linguagem para fazer isso.
Bom, apenas com isso e pequenos ajustes no CSS temos nossa aplicação rodando sem javascript, falta agora a parte Ajax da coisa.