POST metodu sayfalar arasında değişken / değer aktarmak için genelde form elemanları ile birlikte kullanılır. POST metodu Super Global bir değişken olup gönderildiği sayfanın tüm alanlarından erişilebilir. POST Metodu ile bir değer, bir sayfadan başka bir sayfaya gizli olarak taşınır. Adres çubuğunda gönderilen veri görünmediği için kullanıcı tarafından müdahale edilemez. Bu sebeple önemli verilerin aktarılmasında POST metodu kullanımı uygundur. $_POST[''] şeklinde kullanılır. Tırnaklar içerisine post ettiğimiz giriş formunun name değeri yazılır. PHP komutlarının HTML etiketleri içerisinde kullanılabildiğinden bahsetmiştik. Şimdi POST metodu ile veri aktarma işlemine bakalım.
Örnek olarak bir form sayfası hazırlayalım;
<form method="POST" action=""> etiketiyle form elementimizi oluşturuyoruz, form elementimizin method kısmına POST yazarak veri gönderimini POST metoduyla yapacağımızı söylüyoruz. Ardından action kısmını veriyi aynı sayfaya göndereceğimiz için boş bırakıyoruz. Eğer veriyi başka sayfaya yollayacak olsaydık action kısmında tırnaklar içine veriyi göndereceğimiz sayfayı yazacaktık.
<input type="text" name="girdi"/> etiketiyle bir input oluşturup type değerini text (yazı) yapıyoruz. Bu etiketin name kısmı bizim için önemli. name kısmında gönderdiğimiz POST adını yazacağız. name kısmına “girdi” adını veriyoruz.
<input type="submit"/> etiketiyle veriyi göndermek için butonumuzu oluşturuyoruz
</form> etiketiyle form elementi etiketimizi kapatıyoruz.
Şimdi php kodlarımızla girdi adındaki POST’umuzu alalım ve değişkene aktaralım; $degisken = $_POST["girdi"];
Kodlarımızın tamamı aşağıdaki gibi olacak;
1 2 3 4 5 6 7 8 9 10 11 |
<form method="POST" action=""> <input type="text" name="girdi"/> <input type="submit"/> </form> <?php if($_POST["girdi"]){ // eğer girdi adında bir POST varsa $degisken = $_POST["girdi"]; //POSTdeğerini değişkene aktarıyoruz echo $degisken; // değişkene aktardığımız POST değerini ekrana yazdırıyoruz } ?> |
Aşağıdaki görselde gördüğünüz üzere forma “Gönderilen veri” yazıp gönder butonuna tıkladığımızda adres çubuğunda veri görünmese de gönderdiğimiz veriyi gizli olarak POST metodu ile alıp ekrana yazdırdık.
Şimdi birde POST metodu kullanarak farklı sayfaya veri gönderelim.
Birinci sayfada formumuzu oluşturuyoruz;
1 2 3 4 |
<form method="POST" action="dosya.php"> <input type="text" name="girdi"/> <input type="submit"/> </form> |
Formun action kısmına yazdığımız “dosya.php” sayfasına veri gönderilecektir.
Şimdi “dosya.php” sayfamızı oluşturup POST metodu ile gönderidiğimiz verileri alalım. dosya.php sayfamızın içeriği aşağıdaki gibi olacak;
1 2 3 4 5 6 |
<?php if($_POST['girdi']){ // Eğer girdi adında bir POST varsa $degisken = $_POST["girdi"]; // POST'u değişkene aktar echo $degisken; // değişken değerini ekrana yazdır } ?> |
Şimdi form sayfasındaki inputa “yeni veri” yazıp gönderelim ve bakalım dosya.php sayfamızda veriyi görebilecekmiyiz;
Gördüğünüz üzere GET metodu aksine POST metodunda veriler gizli olarak taşınıyor ve taşınan verilere kullanıcı müdahale edemiyor.
[…] üzere tüm Süper Global değişkenlerimiz “$_” ifadesi ile başlıyor. GET, POST ve FILES değişkenlerini daha önceki derslerimizde detaylı şekilde açıklamıştık. Şimdi […]