PHP – Get ve Post Metodu Örnekleri

Bu ders GET ve POST Örnekleri ve GET   metodunun biraz daha detayına bakacağız. Ayrıca PHP’nin yine küresel değişkenlerinden olan $_REQUEST değişkenine bakacağız. POST metodunun genelde formlarda kullanıldığını ve  GET metodununda sayfalar arasında değişken göndermek için kullandığımızı  söylemiştik. $_REQUEST küresel değişkeni  de sunucuya gelen istekleri dizi halinde bize gösterir. İçerisinde GET, POST, FILES gibi kürsel değişkenleri barındırır.

$_REQUEST Kullanımı

$_REQUEST değişkeni sunucuya gelen get, post ve files küresel değişkenlerini içerisinde barındırır. Örneğin:

Ad soyad ve profil resmi seçtiğimiz bir formumuz olsun. Formdan sunucuya gönderilen istekleri aşağıdaki şekilde görebiliriz.

<?php
if($_POST || $_GET)
	var_dump($_REQUEST);
?>
<form action="?islem=form" method="POST">
	<input type="text" name="ad_soyad" placeholder="Ad Soyad giriniz" /> <br/>
	<input type="file" name="profil_resmi" /> <br/>
	<button> Gönder</button>
</form>

Yukarıdaki formu post ettiğimizde aşağıdaki şekilde bir çıktı bize verir.

REQUEST örneği PHP
REQUEST örneği PHP

GET ve POST Örnekleri

Örnek-1)

Anasayfa, Hakkımızda ve haberler adında 3 adet sayfamız olsun. Bu 3 sayfa içinde farklı farklı php dosyası oluşturmak hem bizim işimizi zorlaştırır hemde hafıza maliyetimizi artırır. Biz tek bir sayfada kullanıcıya 3 sayfa gösterelim hem sayfa fazlalığından hemde hafıza maliyetinden kar etmeye çalışalım.

Algoritmamız: Sayfalarımıza bizim belirlediğimiz indis numaraları verelim.

  1. anasayfa
  2. hakkımızda
  3. haberler

Daha sonra anasayfada get methodu ile bu indisleri kullanarak diğer sayfalarımza erişelim.

Kodumuz:

<?php
$v = isset($_GET["v"]) ? intval(trim($_GET["v"])) : 1;
// eğer $_GET["v"] değişkenimiz yoksa biz anasayfadayızdır bu yüzden indisi 1 yaptık. 
// linklerimiz Tüm Sayfalarda Görünsün.
echo '
<a href="?v=1">Anasayfa</a> | 
	<a href="?v=2">Hakkımızda</a> | 
	<a href="?v=3">Haberler</a> | <hr>
';
if($v == 1) {
	// Burada Anasayfa Görünür.
	echo '
	Merhaba Anasayfadasın.';
}else if($v == 2) {
	// Burada Hakkımızda Görünür.
	echo "Merhaba Hakkımızda Sayfasındasın.";
}else if($v == 3) {
	// Burada Haberler Görünür.
	echo "Merhaba Haberler Sayfasındasın.";
}else {
	// Burasıda Farklı Bir İndis Gelirse Yapılan İşlemlerimiz.
	echo "Üzgünüm Bu Sayfa Henüz Oluşturulmadı. Bunun Bir Hata Olduğunu Düşünüyorsan Bize Bildir... ";
	
}

?>

Kodumuza bakacak olursak:

  • index.php olarak girersek $_GET[“v”] değişkenimiz olmadığı için indis otomatik 1 yapılacak ve anasayfa gösterilecek.
  • index.php?v=1 şeklinde giriş yaparsak yine anasayfamız görünecek.
  • index.php?v=2 şeklinde giriş yaparsak hakkımızda sayfamız görünecek.
  • index.php?v=3 şeklinde giriş yaparsak haberler  sayfamız görünecek.
  • v değerimiz boş veya 1,2,3 değerleri dışında bir değer girilirse else kısmındaki uyarı mesajımız kullanıcıya gösterilecek.

Örnek-2)

index.php ve haberler.php diye iki adet sayfamız olsun. index.php de haberler başlıkları listelensin ve haberler.php sayfamızda ise haberlerimizin içeriğini okuyabileceğimiz bir sayfa yapısı oluşturalım.

Algoritmamız: 

  • index.php de haber başlıkları ve get methoduna parametre olarak haberlerin id değerleri verelim.
  • haberler.php sayfamızda ise index.php den gelen id değerine göre haber içeriği gösterelim.

Kodumuz: 

<?php
for($i=1;$i<=10;$i++) {
	echo ' <a href="haberler.php?v='.$i.'">'.$i.'. Haber başlığı.</a> <br/>';	
}

?>

10 adet haberi for döngüsü ile oluşturduk.

<?php
if(isset($_GET["v"]) &amp;&amp; !empty($_GET["v"])) {
	$v = intval(trim($_GET["v"]));	
	echo "$v. Haber İçeriğini Okuyorsunuz.";	
}else {
	echo "Bu sayfaya anasayfadan gelmelisiniz.";	
}
?>

haberler.php sayfamızda ise haber id değeri gelmişmi kontrol ettik. Eğer haber id değeri gelmemişse bir uyarı verdik ve haber id değeri gelmişse haberi kullanıcıya gösterdik.

Son olarak POST methodu ile bir adet üye kaydolma formu yapıp dersimizi sonlandıralım.

Üye Kayıt Formu

Klasik bir üye kayıt formu yapalım.  Öncelikle HTML kısmını halledelim.

<form action="" method="POST">
	<table>
		<tr>
			<td>Ad Soyad</td>
			<td>:</td>
			<td> <input type="text" name="ad_soyad" /></td>
		</tr>
		<tr>
			<td>E-Posta</td>
			<td>:</td>
			<td> <input type="email" name="e_posta" /></td>
		</tr>
		<tr>
			<td>Şifre</td>
			<td>:</td>
			<td> <input type="password" name="sifre" /></td>
		</tr>
		<tr>
			<td>Şifre Tekrar</td>
			<td>:</td>
			<td> <input type="password" name="sifre_t" /></td>
		</tr>
		<tr>
			<td>Öz Geçmiş</td>
			<td>:</td>
			<td> <textarea name="oz_gecmis" id="" cols="22" rows="10"></textarea> </td>
		</tr>
		<tr>
			<td colspan="3" style="text-align:right;"> <button type="submit"> Gönder</button></td>
		</tr>
		
	</table>
</form>

Php kodumuz ve formumuzun son hali aşağıdaki gibi olacak.

<?php
if(isset($_POST["gonder"])) {
	// butona tıklandığında yapacağımız işlemler.
	$ad_soyad = addslashes(trim($_POST["ad_soyad"]));
	$eposta = addslashes(trim($_POST["e_posta"]));
	$sifre = addslashes(trim($_POST["sifre"]));
	$sifre_t = addslashes(trim($_POST["sifre_t"]));
	$oz_gecmis = addslashes(trim($_POST["oz_gecmis"]));
	// formdan gelen verileri aldık.
	
	if(empty($ad_soyad) || empty($eposta) || empty($sifre) || empty($sifre_t) || empty($oz_gecmis)) {
		// herhangi bir veri boş gelmişse uyarı verelim.
		
		echo 'Lütfen Boş Alan Bırakmayınız.';
	}else if($sifre != $sifre_t) {
		// şifreler uyuşmuyorsa hata verelim.
		echo 'Girdiğiniz Şifreler Farklı!';
	}else if(!filter_var($eposta,FILTER_VALIDATE_EMAIL)) {
		// e posta doğru formatta girilmiş mi kontrol edelim.
		echo 'Geçersiz E-Posta Adresi';
	}else {
		// şartlarımızın hepsi sağlanıyosa artık kayıt işlemi yapabiliriz.
		echo 'Başarıyla kayıt oldunuz.';
	}
	
	
}
 
?>
 
 
<form action="" method="POST">
	<table>
		<tr>
			<td>Ad Soyad</td>
			<td>:</td>
			<td> <input type="text" name="ad_soyad" /></td>
		</tr>
		<tr>
			<td>E-Posta</td>
			<td>:</td>
			<td> <input type="email" name="e_posta" /></td>
		</tr>
		<tr>
			<td>Şifre</td>
			<td>:</td>
			<td> <input type="password" name="sifre" /></td>
		</tr>
		<tr>
			<td>Şifre Tekrar</td>
			<td>:</td>
			<td> <input type="password" name="sifre_t" /></td>
		</tr>
		<tr>
			<td>Öz Geçmiş</td>
			<td>:</td>
			<td> <textarea name="oz_gecmis" id="" cols="22" rows="10"></textarea> </td>
		</tr>
		<tr>
			<td colspan="3" style="text-align:right;"> <button type="submit" name="gonder"> Gönder</button></td>
		</tr>
		
	</table>
</form>

Formda zaten gerekli açıklamaları yazdım arkadaşlar. Ek olarak filter_var fonksiyonuna bakacak olursak:

filter_var($degisken,ISLEM_TIPI) şeklinde iki değişkeni olan filter_var fonksiyonu değişkenin istenilen şartlara uygun olup olmadığına bakar.

Biz FILTER_VALIDATE_EMAIL diyerek değişkenimizin email şartlarına uyup uymadığını kontrol ettik.

Şimdilik sistem güvenliğini pek ön planda tutmuyoruz ama veri tabanı öğrendiğimiz zaman sistem güvenliği üzerinde daha fazla duracağız arkadaşlar.

Evet arkadaşlar bir dersimizin daha sonuna geldik. Bir sonraki dersimiz PHP Dersleri – include ve include_once  dersimizde görüşmek üzere.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altındaki yorum bölümünden sorabilirsiniz.

PHP GET ve POST metodu konusunu bu yazımızda gördük. Aşağıdaki linke tıklayarak daha bir çok içeriğe ulaşarak bilginizi artırabilirsiniz. Ayrıca aşağıdaki Sosyal Medya linklerine tıklayarak bizi Sosyal Medya üzerinden de takip edebilirsiniz.

https://yazilimdelisi.com/category/web-gelistirme/php/

Sosyal Medya Hesapalarımız

instagram logo
twitter logo

Son Eklenen Yazılar

Bir Cevap Yazın

%d blogcu bunu beğendi: