Yükleniyor...
Konularınızı tabi ki paylaşırız

Arkadaşlar tabi ki konularınızı; başlık, açıklama ve düzenli bir kod dökümanı halinde ilettiğiniz takdirde paylaşırız. Bunun için info@phpmutfagi.com mail adresine yazmanız yeterlidir. Sadece tek şartımız herkesin anlayacağı bir dilde anlatmanızdır.

Konularınızı iletirken lütfen imzanızı da gönderin. (İsim soyisim, varsa linkedin veya başka bir sosyal medya hesabınız)


PHP'den istemciden veri almak için $_GET ve $_POST yöntemi kullanılır. Web site ve projelerinde ki HTTP (Hypertext Transfer Protocol - Köprü Metin Aktarım Protokolü) ve HTTPS durumu burada anlam kazanmaktadır. Bir site HTTP ile başlıyorsa ssl sertifikası olmayan onaylanmayan haberleşmeler sağlar ancak HTTPS ile başlıyorsa tamamen güvenilirdir.


Php $_GET ve $_POST Arasındaki Fark

Kullanım ve mantık olarak tamamen birbirleri ile aynıdır;

  • $_POST methodu, işlenen verileri dizi olarak gönderir. Erişilebilir (functionlarda, class yapılarında, işlev vb.) olması kolaydır. Kullanımı kolaydır.
  • $_GET methodu, işlenen verileri dizi olarak gönderir. Erişilebilir (functionlarda, class yapılarında, işlev vb.) olması kolaydır. Kullanımı kolaydır.

  • $_POST yönteminde sorgular gizli bir şekilde gönderilir. MIME ile şifrelenir, tarayıcının adres çubuğunda gözükmez, istemcinin tarayıcı geçmişine ve sunucunun URL loglarına kaydedilmez. Güvenilirdir, $_GET komutuna göre yavaştır. Kullanıcı adı ve şifre, kart bilgileri gibi özel bilgilerin bu yöntemle gönderilmesi gerekir
  • $_GET yönteminde sorgular şifrelenmeden, URL üzerinden sunucuya gönderilir. $_POST yönteminden daha güvensizdir; sorgular sunucuda ve istemcinin tarayıcısında kaydedilir, $_POST komutuna göre hızlıdır. İstemci sorgular, URL üzerinden gönderildiği için sayfaya daha kolay bir şekilde erişebilir. Genelde E-ticaret sitelerinde filtreleme bölümünde (vb. alanlarda) kullanılır. Kayıt edildiği için SEO açısından büyük bir anlam taşır. Kullanıcı bilgileri, şifre ve kart bilgileri gibi özel bilgilerde bu yöntem KESİNLİKLE KULLANILAMAZ.

  • $_POST form ile kullanılır.
  • $_GET form ve normal linkler (html a taglarında, jquery ve javascript yönlendirmelerinde, php yönlendirmelerinde vb.) ile kullanılabilir.

Php $_GET Kullanımı

Php get isteklerinde ilk olarak değerlerin gönderileceği URL yazılır. Daha sonra ? (soru) işareti ile değerleri göndermeye başlayacağımızı belirtiriz ardından değişken isimlerini yazar ve değerlerini atarız. Php de değer atamak ile aynı şey sadece URL üzerinden tanımlama yapıyoruz.

http://www.siteadresiniz.com/değerlerin_gonderilecegi_sayfa.php?degisken=atanan_deger


Birden fazla değer göndermek mümkündür. & işareti ile değişkenler birbirinden ayırt edilir.

http://www.siteadresiniz.com/değerlerin_gonderilecegi_sayfa.php?degisken1=atanan_deger&degisken2=atanan_deger&degisken3=atanan_deger

$_GET komutunun gönderilen sayfada çağırılma şekli aşağıdaki gibidir.

<?php
//$_GET["urlde_tanimladigimiz_degisken_adi"];
echo $_GET["degisken1"];
echo $_GET["degisken2"];
echo $_GET["degisken3"];
?>

Php $_GET Form Örneği

sayfa1.php olarak kayıt edin.

<!doctype html>
<html>

<head>
  <title>Sayfa 1 Get Kullanımı</title>
</head>

<body>
  <form action="sayfa2.php" method="GET">
    <!-- get ile formu göndereceğimizi belirttik. -->
    Aradığınız Kelime:<br />
    <input type="text" name="kelime" />
    <!-- inputların name bölümüne hangi ismi tanımlarsak değişken adı o olur. Türkçe karakter kullanılmaz ve boşluk bırakılmaz.-->
    <br /><br />
    Aradığınız İl:<br />
    <input type="text" name="il" />
    <!-- inputların name bölümüne hangi ismi tanımlarsak değişken adı o olur. Türkçe karakter kullanılmaz ve boşluk bırakılmaz. -->
    <br /><br />
    <button type="submit">ARA</button>
  </form>
</body>

</html>

sayfa2.php olarak kayıt edin.

<!doctype html>
<html>

<head>
  <title>Sayfa 2 Get Kullanımı</title>
</head>

<body>
  <?php
  //BU SAYFADAYKEN URL BÖLÜMÜNÜZÜ KONTROL EDİN.
  
  if ($_GET) { //Eğer get işlemi olduysa, tanımlandıysa, bir get değeri dönüyorsa
    echo $_GET["kelime"] . "<br />"; //name="kelime" olan inputtan gönderilen değeri yazacaktır.
    echo $_GET["il"];//name="il" olan inputtan gönderilen değeri yazacaktır.
  } else echo 'get işlemi gerçekleşmedi.';
  ?>
</body>
</html>

Php $_POST Kullanımı ve Örneği

Kullanımı $_GET ile tamamen aynıdır. Dediğimiz gibi $_POST methodunu sadece form üzerinde kullanabilirsiniz. Örnek ile daha iyi anlayabilirsiniz.

sayfa1.php olarak kayıt edin.

<!doctype html>
<html>

<head>
  <title>Sayfa 1 Post Kullanımı</title>
</head>

<body>
  <form action="sayfa2.php" method="POST">
    <!-- post ile formu göndereceğimizi belirttik. -->
    Adınız :<br />
    <input type="text" name="adi" />
    <!-- inputların name bölümüne hangi ismi tanımlarsak değişken adı o olur. Türkçe karakter kullanılmaz ve boşluk bırakılmaz.-->
    <br /><br />
    Soyadınız:<br />
    <input type="text" name="soyadi" />
    <!-- inputların name bölümüne hangi ismi tanımlarsak değişken adı o olur. Türkçe karakter kullanılmaz ve boşluk bırakılmaz. -->
    <br /><br />
    Kullanıcı Adınız:<br />
    <input type="text" name="kullanici_adi" />
    <!-- inputların name bölümüne hangi ismi tanımlarsak değişken adı o olur. Türkçe karakter kullanılmaz ve boşluk bırakılmaz. -->
    <br /><br />
    Şifreniz:<br />
    <input type="text" name="sifre" />
    <!-- inputların name bölümüne hangi ismi tanımlarsak değişken adı o olur. Türkçe karakter kullanılmaz ve boşluk bırakılmaz. -->
    <br /><br />
    <button type="submit">KAYIT OL</button>
  </form>
</body>

</html>

sayfa2.php olarak kayıt edin.

<!doctype html>
<html>

<head>
  <title>Sayfa 2 Post Kullanımı</title>
</head>

<body>
  <?php
  //BU SAYFADAYKEN URL BÖLÜMÜNÜZÜ KONTROL EDİN. GET DEKİ GİBİ HERŞEYİN YAZMADIĞINI GÖRECEKSİNİZ.
  
  if ($_POST) { //Eğer post işlemi olduysa, tanımlandıysa, bir post değeri dönüyorsa
    echo $_POST["adi"] . "<br />"; //name="adi" olan inputtan gönderilen değeri yazacaktır.
    echo $_POST["soyadi"] . "<br />"; //name="soyadi" olan inputtan gönderilen değeri yazacaktır.
    echo $_POST["kullanici_adi"] . "<br />"; //name="kullanici_adi" olan inputtan gönderilen değeri yazacaktır.
    echo $_POST["sifre"]; //name="sifre" olan inputtan gönderilen değeri yazacaktır.
  } else echo 'POST işlemi gerçekleşmedi.';
  ?>
</body>

</html>

Görüşlerinizi Bize Bildirin :)