PHP Get ve Post, client (kullanıcı) tarafından gönderilen verileri sunucuya ileten yöntemlerdir.
PHP Get ve Post arasındaki başlıca farklar;
- Get metodunda alınan parametreler ve içlerindeki bilgiler adres satırında görünür.
- Post metodunda alınan parametreler ve içlerindeki bilgiler adres satırında görünmez.
- Get metodunda yapılan işlemler tarayıcının geçmişinde görünür.
- Post metodunda yapılan işlemler tarayıcı geçmişinde saklanmaz.
- Get ile yaptığınız işlemlere oğrudan erişebilir ve görüntüleyebilirsiniz, Post ile direk erişemez ve görüntüleyemezsiniz.
- Yazımı buraya kadar dikkatlice okuduğunuza göre bir ipucunu hak ettiniz, yaptığınız yazılımlarda veri tabanı crud (Creat, Read, Uptade, Delete) işlemlerinden Read haricindeki işlemleri için POST metodunu kullanmanız daha kullanışlı ve güvenli olacaktır. Read, Listeleme veya bir arama formu yapmak istediğinizde kullanacağınız yöntem GET metodu olmalıdır. Get metodunu genellikle veri çekmek ve göstermek için kullanmanız ilerki dönemlerde faydanıza olacaktır.
- İki yöntemde web uygulaması geliştirmede kullanılır.
-
Detaylı Açıklamalar;
Get ve POST metotlarının kullanımı
Get metoduna adres satırından $_GET[‘deger’] şeklinde ulaşabiliriz. Post metoduna ise $_POST[‘deger’] şeklinde ulaşırız. Localde bir çalışma yaptığımızı varsayarsak http://localhost/proje/listele.php?ogrenciID=1 adres satırındaki idye $_GET[‘ogrenciID’] şeklinde ulaşıp gerekli SQL sorgusunun ardından istenen öğrenciyi ekrana yazdırabiliriz.
Post metodunda ise veriler bir formdan gelir. Form elemanının “name” değeri sizin almak istediğiniz değerin adını simgeler. Örneğin <input type=”text” name=”ogrenciAdi”> formundan gönderilen öğrencinin adını almak için $_POST[‘ogrenciAdi’] şeklinde yazmamız yeterli olacaktır.
Form’a girilen bilgilerin gönderilmesi için http sorgusunun kullanılması seçeneğidir. Gönderilen bilgiler açık olarak görülmez. Genel olarak en çok kullanılan seçenektir. Form’dan POST metoduyla gelen bilgiler HTML form etiketinin METHOD parametresinin değeri GET olabildiği gibi POST da olabilir ve HTTP sunucusu bu yöntemle gelen bilgileri $HTTP_POST_VARS dizi-değişkeninde tutar. GET ile POST metodun kullanımında hiçbir fark yoktur. Ama Internette kullanacağımız dosyaların güvenli olması açısından örneğin üyelik sisteminin bulunduğu bir sitede login olmak için girilen bir form alanına GET metoduyla yaparsanız, kötü niyetli kişiler bu linke tıklayarak siteye giriş yapabilir. Bu gibi durumlarda POST metodu kullanılmalı.
Bazı form alanında tanımlanan değişkenleri satır satır yazmak bazen sıkıntılara yol açar. Bu durumlarda PHP’nin $HTTP_GET_VARS ve $HTTP_POST_VARS dizi değişkenleri kullanılabilir. Bu dizi değişkenleri, formdan gelen bilgileri derleyip toparlayarak bir döngü yardımıyla tutulan değişken ve değerlerini ekrana basar.
kodsuz kod mu anlatılı mk?