PHP Switch ile Sayfa Değiştirme

PHP'de switch kullanarak iç sayfalar oluşturarak index.php sayfasının banner-menü gibi alanını değiştirmeden sadece içerik alanında değişiklik yapma. Ve "index.php?icerik=iletisim" linkleri SEO ile "iletisim.html" yapabilmeyi göreceğiz.

Merhaba arkadaşlar,

Switch-Case ile örneğin index.php?icerik=iletisim gibi nasıl sayfa değiştirebileceğimizi göreceğiz.

PHP'de switch kullanarak iç sayfalar oluşturarak index.php sayfasının banner-menü gibi alanını değiştirmeden, sadece içerik alanında değişiklik yapmayı ve "index.php?icerik=iletisim" linkleri SEO ile "iletisim.html" yapabilmeyi öğreneceğiz.

1. Adımda elimize index sayfasını ele alıyoruz. Bu sayfada şu kodlar olacak.


<table width="100%" border="0">

  <tr>

    <td><h2>BANNER ALANI</h2></td>

  </tr>

</table>

<table width="100%" border="0">

  <tr>

    <td width="20%">

            <h2>MENÜ ALANI</h2>

            <a href="index.php">Ana Sayfa</a><br>

            <a href="index.php?icerik=ben_kimim">Ben Kimim ?</a><br>

               <a href="index.php?icerik=iletisim">İletişim</a><br>

            <a href="index.php?icerik=iletisim&islem=form">İletişim Formu</a>

    </td>

    <td width="80%" align="center">

<h2>İÇERİK ALANI</h2>



        switch($_GET['icerik']){     // Başlatıyoruz ve $_GET ile index.php?icerik=? koşul alıyoruz.

        case 'ben_kimim': // 1.Koşulda index.php?icerik=ben_kimim ise ben_kimim.php gelecek.

        include('ben_kimim.php');    

        break;

        

        case 'iletisim': // 2.Koşulda index.php?icerik=iletisim ise hakkimizda.php gelecek.

        include('iletisim.php');    

        break;

        

        default: // Yukarıdaki koşşular gerçekleşmez ise default.php gelecek.

        include('default.php');

        break;

        }

?>

    </td>

  </tr>

</table>



2. Adımda sayfaları oluşturup içine içeriği yazacağız.

default.php


<h3>DEFAULT SAYFASI</h3>


ben_kimim.php

<h3>BEN KİMİM ?</h3>


iletisim.php

<?php 

        
if(empty($_GET['islem'])) // empty fonksiyonu ile islem değişkenini boşaltıyoruz ve eğer işlem değişkeni boş ise;

        
{    

            echo 
"<h3>İLETİŞİM</h3>";

        }elseif(
$_GET['islem'] == 'form'){ // islem değişkeni form ise;

            
echo "<h3>İLETİŞİM FORMU</h3>";

        }

        
?> ?>



Evet şimdi bir deneme yaparsanız içerik alanının nasıl değiştini görebilirsiniz.

3. Adımda şimdi sayfalar "index.php?icerik=ben_kimim" gibi açılıyor bunları örneğin "ben-kimim.html" gibi açmak istiyorsak .htaccess oluşturarak şunları ekliyoruz.


Options +FollowSymLinks

RewriteEngine on



RewriteRule ^index.html index.php [L,NC]

RewriteRule ^ben-kimim.html index.php?icerik=ben_kimim [L,NC]

RewriteRule ^iletisim.html index.php?icerik=iletisim [L,NC]

RewriteRule ^iletisim-formu.html index.php?icerik=iletisim&islem=form [L,NC]



4. Adım ise index.php içerisindeki menüyü yeni yaptğımız menüye uyarlıyoruz.


<a href="index.html">Ana Sayfa</a><br>

     <a href="ben-kimim.html">Ben Kimim ?</a><br>

            <a href="iletisim.html">İletişim</a><br>

         <a href="iletisim-formu.html">İletişim Formu</a>


  • Etiketler;
LvntAyn LvntAyn
LeventAyan.Com
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

güzel olmuş eline sağlık ama index.phpye girince altalta index phpyi sıralıyor sorun nerde anlamadım
Şöyle size izah edebilirim; Tek Bir sayfa icersinde yapabilirsiniz. index.php sayfasını icersine Function index(){ <a href="index.php?icerik=index">Ana Sayfa</a> <a href="index.php?icerik=hakkizda">Hakkızda</a> <a href="index.php?icerik=iletisim">İlesim</a> // Dikkat Et Linklere Funtionlarin Adlarini Yaziorum .. echo "burasi Ana Sayfasi" // suanda burasi sizin ana sayfasnız oldu } Function hakkimizda(){ echo "Burasi Hakkımızda Sayfasi"; // Hakkımzda sayfasi oldu. } Function iletisim(){ echo "Burasi iletsim Sayfasi"; // iletisim sayfasi oldu. } $icerik = $_GET["icerik"]; Switch($icerik){ default: index(); case "index": index(); break; case "hakkimizda": hakkimizda(); break; case "iletisim": iletisim(); break; } Aslinda Arkadasimizin Yapmak istedği butun Hersey Bundan ibaret!
Böyle bir hata veriyor. Notice: Undefined index: icerik in C:wampwwwelemanonlinedeneme.php on line 22 siz $get ile indexi cagırıyorsunuz ama indexi algılamıyor sanırım hata veriyor deneyip kodlarını yayınlarsanız daha iyi olacak. Bu makalede 2 sinde de hata var. function icinde echo ile yazdırmadan direk <a href="index.php?icerik=index">Ana Sayfa</a> <a href="index.php?icerik=hakkizda">Hakkızda</a> <a href="index.php?icerik=iletisim">İlesim</a> nasıl kullanıyorsunuz anlamadım 1 kere.
Biz index.php?icerik=index bu linkleri <a href="index.html bu dosyaya direk ulaşamasınlar diye yapmıyormuyduk ?Neden tekrar bu .htaccess dosyası ile bu hale getirdik ? Güvenlimi bu ? Belki de benim kafa karışıklığım kusuruma bakmayın..Sabah sabah bir yönetim paneli yapmaya uğraşıyorumda :)
Merhaba <div id="sidebar"> <ul class="kategoriler"> <?php $sonuc = mysql_query("SELECT * FROM menu_kategori", $baglantim); if(!$sonuc){ die("Veritabanı Sorgu Hatası:".mysql_error()); } while ($row=mysql_fetch_array($sonuc)){ echo "<li class="kategoriler">".$row["menu_kat_adi"]. "</li>"; $sonuc1 = mysql_query("SELECT * FROM menu_icerik WHERE menu_kat_id=".$row["menu_kat_id"] ,$baglantim); if (!$sonuc1) { die ("Veritabanı Sorgu Hatası:".mysql_error()); } echo "<ul class="icerik">"; while ($row1 = mysql_fetch_array($sonuc1)){ echo "<li class="icerik"><a href="index.php?sayfa=".$row1["link_adi"]."">" . $row1["baslik"] . "</a></li>"; } echo "</ul>"; } ?> </ul> </div> böyle bir menüm var sayfada. Database kaydettiğim menü ögelerini index.php'de açabiliyorum. Ama bu menüdeki bazı ögeleri ayrı bir sayfada açmak istiyorum. Acaba bunu nasıl yapabilirim Teşek
size nasil tesekkur edeyim bilemiyorum php hakkinda cokaz bilgiye sahibdim tambu konuyu ariyordum if veya switch sonunda buldum boyle ayrintili anlatim icin tesekkurler

Yukarı Git