Php İle Tek Sayfa Üzerinde Site Hazırlamak
Bir php kodları ile hazırlanmış siteyi tek sayfa üzerinde çalıştırmak denince akla gelen ilk konu sayfa içeriklerini çekirdek olarak çalıştırılmak istenen sayfanın içerisine yazarak GET methodu ile ekranda göstermektir.Fakat bu dinamik sayfalarda işe yaramayacaktır.Bu yazı da dinamik bir sitenin tek sayfa ile nasıl hazırlanabileceğinin mantığını göreceksiniz.
SPONSOR REKLAMLARI
Sitenizin şablonu belliyse bu durumda içeriğin gösterileceği bir bölümü illa ki düşünmüş olmalısınız.Örneğin sola yaslanmış bir yan menü, üst tarafta bulunan bir başlık ve en altta da alt kısım bulunduğunu farz edersek göbekte kalacak boşluk sizin içeriğinizi göstereceğiniz alan olabilir.Bize gereken şeyler bir çekirdek sayfa, bir tane boş alan ve adım adım hazırlayacağımız fonksiyon kütüphanemiz olacak.Sitenizin kuruluş yapısının bu şekilde olduğunu varsayarsak kodlarınız da şu şekilde olacaktır :
<div id="sayfa">
<div id="menu"><? include("sidebar.php"); ?></div>
<div id="ust"><? include("header.php"); ?></div>
<div id="banner"><? include("banner.php"); ?></div>
<div id="orta"><? include("core.php"); ?></div>
<div id="alt"><? include("footer.php"); ?></div>
</div>
Burada bizim içeriÄŸimizin yerleÅŸeceÄŸi alan resim de gördüğünüz kırmızı alan yani ” core.php ” dosyasıdır.Hedef alan belirliyse bu durumda index üzerinde herhangi bir düzenleme yapmamıza bu an itibariyle gerek kalmayacaktır.Tabi bunu gerekli dosyaları ( fonksiyon.php gibi) index içerisine dahil ettiÄŸinizi varsayarak söylüyorum.Ayrıca tek sayfa içerisinde çalışacağımız için css dosyanız da dahil bir kere ” include ” fonksiyonu ile sayfaya dahil etmeniz yeterlidir.
İkinci adımda index dosyamızı tertemiz bırakıp core.php dosyamızı oluşturacağız.Bu dosyamızda da pek fazla kod karmaşası olmaması açısından sadece GET methodu ile gelen bağlantı isteklerini toplayacağız.Fonksiyon yazımını buradan yapabiliriz ancak bu daha sonra kafamızı karıştıracağından gerekli fonksiyonları fonksiyonları yazdığımız dosya üzerine işlememiz şu durumda daha sağlıklıdır.İçeriğimizi göstereceğimiz dosyamızın da genel yapısı şu şekilde :
<table><td><?
$islem = $_GET['goster'];
switch ($islem)
   {
       case "bir-link" :
          isle("bir-link");
          break;
       default :
          echo"Bos sayfa";
          break;
    }
?></td></table>
Gördüğünüz gibi switch içerisinde deÄŸerlendirilen nesne ÅŸayet case içerisinde bir eÅŸleÅŸme bulursa onu iÅŸletecek ve sayfaya bir ÅŸeyler yazacaktır.Burada ki kodda ise deÄŸer alan “ isle () ” fonksiyonuna ” bir-link ” deÄŸeri gönderiliyor.Bu hazırlamış olduÄŸumuz kodu artık sayfamızın üzerinde yerleÅŸik linklerin hepsinde kullanabiliriz.İster DB üzerinden gelsin, ister elle girilsin sonuç itibari ile ” index.php ” ya da ana dosyamızın adı her neyse artık ÅŸu ÅŸekilde bir parametre ile çalışmaya baÅŸlayacaktır :
index.php?goster=bir-link
Ve son adımda fonksiyon kütüphanemizdee ” isle () ” adında bir fonksiyon hazırlıyoruz ve yapması gerekenleri belirtiyoruz.Benim hazırladığım kodda ” isle () ” fonksiyonu bir bütün olarak çalışıyor, yani sadece bir link için deÄŸil sayfa için gelen tüm isteklere bir deÄŸer döndürüyor.O yüzden yine bir switch döngüsü hazırladım :
function isle($islem)
{
     switch ($islem)
      {
        case "bir-link" :
            $sorgu="SELECT * FROM tablo";
            $sonuc=mysql_query($sorgu);
            while($satir = mysql_fetch_array($sonuc))
                {
                   echo "<td><table ><tr><td".$satir['veri']."</td></tr>
                    <tr><td >".$satir['digerveri']."</td></tr></table></td>";
                }
      }
}
Bu paylaştığım kodlar çok yakında ücretsiz olarak sunacağım SiteMekanik V1.0 Kurumsal PHP Portalının içerisinden alınmıştır.
Kolay gelsin.
Selamlar. Acaba en azından üstteki yazınızdaki örnek ne zaman eklenecek acaba sitenize ?
Yazılarınızın devamı dileğiyle
Şurada bir örnek mevcut, indirip inceleyebilirsiniz.
Php ile ilgili yazılarınız çok güzel, devamı gelirse harika olur.