单击链接时执行PHP

时间:2009-10-24 16:26:48

标签: php html include hyperlink

除#main div的内容外,我的网站的页面(或将会)都是相同的。所以我在&lt; head&gt;中思考我可以<?php $page = "home.html"?>,其中home.html是主页主div的裸内容(不是完整的html页面 - 没有&lt; html&gt;,&lt; head&gt;等)。所以然后在&lt; div id =“main”&gt;里面和&lt; / div&gt;我可以<?php include($page);?>。那么我问这个问题的原因是我想在点击链接时更改$ page。我怎样才能做到这一点?感谢。

3 个答案:

答案 0 :(得分:3)

您可以将链接设为:

<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 :(得分:1)

您的链接必须如下:

home.php?page=test

您将获得页面变量中的值,如下所示:

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

答案 2 :(得分:0)

您可以执行以下操作: http://yoursite.com/index.php?page=test.htmlhttp://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; ?>