Выполнить PHP при нажатии на ссылку - PullRequest
1 голос
/ 24 октября 2009

Все страницы моего сайта (или будут) идентичны, за исключением содержимого #main div. Поэтому я думал, что в я могу сделать <?php $page = "home.html"?>, где home.html - это пустое содержимое (не полная html-страница - нет , и т. Д.) Основного div для домашней страницы. , Итак, внутри

и
у меня может быть <?php include($page);?>. Тогда причина, по которой я задаю этот вопрос, заключается в том, что я хочу изменить $ page при нажатии на ссылку. Как я могу это сделать? Спасибо.

Ответы [ 3 ]

3 голосов
/ 24 октября 2009

Вы можете сделать ссылки такими:

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

Затем также в верхней части страницы, где вы установите page в значение $_GET['page']

<?php
  if (isset($_GET['page']))
  {
    $page = $_GET['page'] . ".html";
  } else {
    $page = "home.html";
  }
?>
1 голос
/ 24 октября 2009

Ваша ссылка должна быть такой:

home.php?page=test

Вы получите значение в вашей переменной страницы следующим образом:

if(isset($_GET['page']))
  $page = $_GET['page'].'.html';
else
  $page = 'index.html';
0 голосов
/ 24 октября 2009

Вы можете сделать что-то вроде: http://yoursite.com/index.php?page=test.html или http://yoursite.com/index.php?page=test (и добавьте .html позже).

Например:

<?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'); }
?>

(Поместив оставшуюся часть файла после php, чтобы заголовок 404 работал.)

Затем вы также можете использовать переписывание Apache:

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

Тогда используйте ссылки типа http://mysite.com/page_name

Тогда в главном div:

<?php echo $output; ?>
...