Pergunta

páginas do meu site são (ou vai) ser todos idênticos, exceto para o conteúdo da div #main. Então eu estava pensando no eu poderia fazer <?php $page = "home.html"?>, onde home.html é o conteúdo nuas (não uma página html completo - nenhuma , etc.) do div principal para a home page. Então, em seguida, dentro

e
eu poderia ter <?php include($page);?>. Em seguida, a razão pela qual eu estou fazendo esta pergunta é que eu quero mudar $ page quando um link é clicado. Como posso fazer isso? Obrigado.

Foi útil?

Solução

Você poderia fazer as ligações ser assim:

<a href="mypage.php?page=other_page">Other Page</a>

Em seguida, também no topo da página onde você define page ao valor do $_GET['page']

<?php
  if (isset($_GET['page']))
  {
    $page = $_GET['page'] . ".html";
  } else {
    $page = "home.html";
  }
?>

Outras dicas

O seu link tem que ser assim:

home.php?page=test

Você vai ter o valor na variável de página como esta:

if(isset($_GET['page']))
  $page = $_GET['page'].'.html';
else
  $page = 'index.html';

Você pode fazer algo como: http://yoursite.com/index.php?page=test.html ou http://yoursite.com/index.php?page=test ( e acrescentar .html mais tarde).

Por exemplo:

<?php $page = preg_replace('/[^A-Za-z]/','', $_GET['page']);
$path = 'pages/'.$page.'.html'
if (file_exists($path)){ $output = file_get_contents($path); }
 else { header("HTTP/1.0 404 Not Found");
 $output = file_get_contents('pages/404.html'); }
?>

(Colocar o resto do arquivo após o php, para o cabeçalho 404 ao trabalho.)

Em seguida, você também pode usar o Apache regravações:

Rewrite Engine On
Rewrite Rule ^([A-Za-z]+)$ index.php?page=$1

Em seguida, use links como http://mysite.com/page_name

Em seguida, no div principal:

<?php echo $output; ?>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top