Bir bağlantıyı tıklayarak üzerinde PHP yürütmek

3 Cevap php

Benim web sayfalarının # ana div içeriği dışında (veya olacak) hepsi aynı olmalıdır. Yani düşünüyordum Ana sayfa için ana div - anasayfa.html çıplak içeriği (hayır , vs değil tam bir html sayfa) nerede olduğunu, <?php $page = "home.html"?> yapabilirdi. Öyleyse

içeride ve Ben olabilir <?php include($page);?>. Sonra bu soruyu soruyorum neden ben bir bağlantı tıklandığında $ sayfasını değiştirmek istiyorum. Bunu nasıl yapabilirim? Teşekkürler.

3 Cevap

Sen bağlantıları bu gibi yapabilir:

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

Daha sonra da $_GET['page'] değerine page ayarlayan sayfanın üst

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

Senin bağlantı gibi olmak zorundadır:

home.php?page=test

Bu gibi sayfa değişkene değeri alırsınız:

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

You can do something like: http://yoursite.com/index.php?page=test.html or http://yoursite.com/index.php?page=test (and append .html later).

Örneğin:

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

(Çalışmak için 404 başlık için, php sonra dosyanın geri kalanını koymak.)

Sonra da apache yeniden yazar kullanabilirsiniz:

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

Sonra gibi bağlantıları kullanabilirsiniz http://mysite.com/page%5Fname

Sonra ana div:

<?php echo $output; ?>