Navigate / search

Php Get Metodu ve Post Metodu Farkları

Phpde web formlarından veri çekmek için kullandığımız Get ve Post metodularının bir kaç farkları bulunmaktadır.

Bunlardan ilki kullanımında olan fark form metodu belirlemektir.

Get Metodu için

<form action="action.php" method="GET">
</form>

Post Metodu için

<form action="action.php" method="POST">
</form>

Veri bu iki farklı şekilde gönderilebiliyor.
Şimdi veriyi okurken kullandığımız farklara bir bakalım.

Get Metodu ile Veri Almak için;

$HTTP_GET_VARS['form adı'];
$_GET['form adı'];
$_REQUEST['form adı'];

Post Metodu ile Veri Almak için;

$HTTP_POST_VARS['form adı'];
$_POST['form adı'];
$_REQUEST['form adı'];

Post ve Get metodlarını kullanımını öğrendik. Şimdi dış etkenlerine bir bakalım.

Formdan veri gönderdiğimizde Post ve Get metodlarında şöyle bir fark olur.Örneğin bir kullanıcı adı ve şifre girişi yapcağımız bir form hazırladık.Sonra giriş butonuyla formumuzu kontrol.php isimli dosyaya şifreyi ve kullanıcı adını kontrol etmesi için yönlendiriyoruz.Bu sayfaya geldiğimizde karşımıza çıkacak Post ve Get metodunun farkları.Şimdi bu farkı görebilmek için kontrol.php dosyasına geldiğimizde adres satırına bakalım.

Get metodunda adres satırı;

http://www.sitemiz.com/kontrol.php?kullanici_adi=safak&amp;sifre=123456

Post metodunda adres satırı;

http://www.sitemiz.com/kontrol.php

İkisindede verileri alabilmiş olacağız fakat GET metodunda adres satırında formdan gönderdiğimiz değerleri görmüş olacağız.Post metodunda ise bunlar gizli kalmış olacaktır.bu örnekteki gibi kullanıcı adı şifre veya herhangi gizli bir bilgiyi gönderirken Post Metodunu kullanmanız

Php’de Post Metodu İle Formlardan Gelen Bilgiyi Almak

Post Metodu ile Formlardan Bilgi Çekmek.Post Metodu Kullanımı

İlk önce GET metodundaki örneğimize inceleyelim.İlk önce “form.html” ‘ ye bir bakalım.

1
2
3
4
5
<form action="oku.php" method="get">
     <input type="text" name="isim">
     <input type="text" name="email">
     <input type="submit" value="Gönder">
</form>

Post metodunu kullanırken yapacağımız tek değişiklik get yerine post yazmak olacaktır.


1
2
3
4
5
<form action="oku.php" method="post">
     <input type="text" name="isim">
     <input type="text" name="email">
     <input type="submit" value="Gönder">
</form>

Şimdi ise “oku.php” dosyamızı inceleyelim.

1
2
3
4
5
$gelen_isim=$_GET['isim'];
$gelen_email=$_GET['email'];
 
echo "$gelen_isim ".<br>;
echo "$gelen_email".<br>;

oku.php dosyamızda da $_GET komutu yerine $_POST komutunu kullanacağız.

1
2
3
4
5
$gelen_isim=$_POST['isim'];
$gelen_email=$_POST['email'];
 
echo "$gelen_isim ".<br>;
echo "$gelen_email".<br>;

Böylece forma yazılan bilgiyi POST metoduyla almış olduk.

Php ‘de Formdan Gelen Veriyi Dizi Olarak Göndermek

PHP DERSLERİ – Formdan Gelen Veriyi Dizi Olarak Göndermek
Formlardan gelen verilerde herzaman tek sonuç gelmez.Kimi zaman bir koşul için birden fazla sonuç dönebilir.Bu sonuçlarıda php de dizi olarak almayı göreceğiz şimdi.

Çoklu seçmeli bir form oluşturalım.Bunun için bir option menu multiple seçeneğini kullanalım.bu html komutlarını kullanırken select formuna verdiğimiz ismin sonuna “[]” koyarak bunun bir dizi olduğunu belirtmemiz gerekir

1
2
3
4
5
6
7
8
9
10
11
<h2>Hergün Girdiğiniz Siteler</h2>
<form action="action.php" method="get">
      <select name="sites[]" multiple="multiple">
            <option>Twitter</option>
            <option>Google</option>
            <option>Yahoo</option>
            <option>Hotmail</option>
            <option>Facebook</option>
      </select>
      <input type="submit" value="Gönder" />
</form>

Bu şekilde bir formumuz olmuş olacak.CTRL tuşuna basılı tuturak çoklu seçme işlemimizi yapabiliriz.

Hergün Girdiğiniz Siteler

Şimdi sıra geldi php de gönderilen verilerin bir diziye atılması ve bu verilerin kullanılması.formun gönderileceği adresi action.php olarak belirlemiştik.Action.php dosyasını oluşturmaya başlayalım.Bu işe ilk önce gelen dizi değerlerimizi bir değişkene atayarak başlayalım. Bunun için $_GET ‘ ten yararlanacağız. Sonrasında ise foreach fonksiyonu ile dizi değerlerimizi yazdıracağız.
action.php

1
2
3
4
5
6
7
<?php
$sites=$_GET['sites'];
 
foreach ( $sites as $siteAdi){
	print $siteAdi."<br>";
}
?>