PHP Form İşlemleri Nelerdir?

Dikkatinizi çektimi bilmiyorum ama bu güne kadarki derslerimizde kullanıcıdan hiçbir veri almadık ve genellikle kullanıcıdan veri almadan çalışan bir program olmaz. Peki biz php’de kullanıcıdan nasıl veri alacağız? İşte tam bu noktada php form işlemleri devreye giriyor ve hayatımızı kolaylaştırıyorlar. Php’yi tek başına bilmemiz bir anlam ifade etmez arkadaşlar Php direk olarak kullanıcıdan bir veri alamadığı için HTML’de ki form elemanlarını kullanır. Ben Html bildiğinizi varsayarak derslerimi anlatacağım. Bilmeyen arkadaşlar bu adresten tüm form elemanlarına ve bu adresten html derslerine bakabilirler.

Form İşlemleri

Php de formlar GET ve POST olmak üzere ikiye ayrılır. İkiside temelde aynı işlevi yapar aralarındaki tek fark GET işleminde gönderdiğimiz veriler görünürken POST işleminde bu veriler görünmez. Örneğin GET ve POST ile login ekranı yapalım ve aralarındaki farkı görelim.

GET işlemi kullanılarak gönderilen form örneği:

<form action="" method="GET">
<table>
 <tr>
 <td>Kullanıcı Adı:</td>
 <td><input type="text" name="kullanici_adi" /></td>
 </tr>
 <tr>
 <td> Şifre:</td>
 <td> <input type="password" name="sifre" /></td>
 </tr>
 <tr>
 <td></td>
 <td style="text-align:right;"><button type="submit"> Giriş Yap</button> </td>
 </tr>
</table>
 
 
</form>

Ekran Görüntüsü:

php get methodu form işlemleri
Yukarıda ki görselde de göründüğü gibi GET işlemi kullanarak veri gönderdiğimizde gönderdiğimiz veriler adres çubuğunda görünür.

POST işlemi kullanarak form örneği:

<form action="" method="POST">
<table>
 <tr>
 <td>Kullanıcı Adı:</td>
 <td><input type="text" name="kullanici_adi" /></td>
 </tr>
 <tr>
 <td> Şifre:</td>
 <td> <input type="password" name="sifre" /></td>
 </tr>
 <tr>
 <td></td>
 <td style="text-align:right;"><button type="submit"> Giriş Yap</button> </td>
 </tr>
</table>
 
 
</form>

Ekran görüntüsü:

Post işleminde ise form ile gönderdiğimiz veriler adres çubuğunda görünmez. 

php post methodu form işlemleri

GET Methodu

Formdan GET işlemi ile gelen verileri Php’de $_GET küresel değişkeni ile alırız.

Küresel değişkenler Php tarafından tanımlı değişkenlerdir.

$_GET bize bir dizi olarak formdan gelen değişkenleri verir. İstedğimiz bir form elemanının değerine ise $_GET[“degisken_name_degeri”]  şeklinde form elemanının name değeri ile ulaşırız. Yukarıdaki login formundan gelen değişkenleri GET ile alacak olursak:

<?php
if($_GET) {
	print_r($_GET);
	echo "<br/> Kullanıcı Adı:".$_GET["kullanici_adi"];
}
?>
<form action="" method="GET">
<table>
	<tr>
		<td>Kullanıcı Adı:</td>
		<td><input type="text" name="kullanici_adi" /></td>
	</tr>
	<tr>
		<td> Şifre:</td>
		<td> <input type="password" name="sifre" /></td>
	</tr>
	<tr>
		<td></td>
		<td style="text-align:right;"><button type="submit"> Giriş Yap</button> </td>
	</tr>
</table>	
</form>

Php kısmını anlatacak olursak:

  • öncelikle GET değişkeni varmı yani butona basılıp değişkenler gönderilmiş mi kontrol ettik.
  • Eğer gönderilmiş ise $_GET dizisini ekrana yazdırdık.
  • $_GET dizisine ait kullanici_adi keyine sahip verinin değerini yani $_GET[“kullanici_adi”] nin değerini yazdırdık.

GET işlemleri genellikle sayfadan sayfaya veri taşımak için kullanılır çok nadir olarak form da method=”GET” şeklinde kullanırız.

örneğin: Hepinizinde karşılatığı haberler.php?id=5 şeklinde bir link yapısı olduğunu düşünürsek haberler.php sayfasına id=5 değişkenini göndermiş oluyoruz ve bu değişkeni haberler sayfasında $_GET[“id”] şekline alarak kullanıyoruz.

POST Methodu

Post işlemide get işlemi ile aynı mantıkta çalışır. ve kürsel değişken olarak $_POST değişkenini kullanır.  Post işlemi yapmak için HTML tarafındaki form etiketinin method kısmına POST yazmamız gerekir. Login formunu POST işlemi ile yapacak olursak:

<?php
if($_POST) {
	print_r($_POST);
	echo "<br/> Kullanıcı Adı:".$_POST["kullanici_adi"];
}
?>

<form action="" method="POST">
<table>
	<tr>
		<td>Kullanıcı Adı:</td>
		<td><input type="text" name="kullanici_adi" /></td>
	</tr>
	<tr>
		<td> Şifre:</td>
		<td> <input type="password" name="sifre" /></td>
	</tr>
	<tr>
		<td></td>
		<td style="text-align:right;"><button type="submit"> Giriş Yap</button> </td>
	</tr>
</table>	
</form>

Yine Php kısmına bakacak olursak:

  • Öncelikle bir post işlemi varmı kontrol ediyoruz. (Butona basılmış mı kontrolü)
  • Eğer post işlemi var ise $_POST dizisini ekrana yazdırıyoruz.
  • Daha sonra $_POST[“kullanici_adi”] şeklinde dizinin elemanını yazdırıyoruz.

Post methodu GET methoduna göre daha güvenli olduğu için genelde form işlmelerinde POST methodu kullanılır. Tabi formun güvenliğinden yine biz yazılımcılar sorumluyuz.

Genellikle web sitesi açıklarının baş gösterdiği yerler formlardır. Bu yüzden formun güvenliğini çok iyi bir şekilde sağlamak zorundayız.

Güvenli bir şekilde login işlemi yapabilen bir form oluşturalım ve form üzerinden biraz konuşup dersimizi bitirelim.

Güvenli Şekilde Form Oluşturmak

Kullandığımız fonksiyonları açıklayacak olursak:

  • addslashes($degisken) parametre olarak aldığı değişkenin içerisinde eğer tırnak varsa bu tırnak işaretini pasifleştirir. örneğin: Erzurum’da diye bir veri gelirse bu veriyi Erzurum\’da ya çevirir. Bu işlemi yapmamızın nedenini veri tabanı gördüğümizde daha iyi anlayacaksınız.
  • trim($degisken) değişkenin sağ ve solundaki boşlukları siler.
  • empty($degisken) değişkenin boşmu dolumu olduğunu kontrol eder.
  • isset($degisken) değişken varmı yokmu kontrol eder.
<?php
// bizim belirlediğimiz kullanıcı adı ve şifre
$_kullaniciAdi = "ugurisik";
$_sifre = 1234;
if(isset($_POST["giris_yap"])) {
	$kullaniciAdi = addslashes(trim($_POST["kullanici_adi"]));
	$sifre = addslashes(trim($_POST["sifre"]));
	// kullanıcı adı ve şifreyi aldık tek tırnak ve sağ-sol daki boşluklardan arındırdık.
	if(empty($kullaniciAdi) || empty($sifre)) { // kullanıcı adı veya şifreden biri boş ise bilgi ver
		echo "Kullanıcı adı veya şifreniz boş.";
	}else if($_kullaniciAdi != $kullaniciAdi || $_sifre != $sifre) { // kullanıcı adı veya şifreden biri hatalı ise bilgi ver
		echo "Kullanıcı adı veya şifre hatalı.";
	}else { // başarıyla giriş yap.
		echo "Tebrikler Başarıyla Giriş Yaptınız.";
	}
}
?>

<form action="" method="POST">
<table>
	<tr>
		<td>Kullanıcı Adı:</td>
		<td><input type="text" name="kullanici_adi" /></td>
	</tr>
	<tr>
		<td> Şifre:</td>
		<td> <input type="password" name="sifre" /></td>
	</tr>
	<tr>
		<td></td>
		<td style="text-align:right;"><button type="submit" name="giris_yap"> Giriş Yap</button> </td>
	</tr>
</table>
</form>

Kodun içerisinde detaylı açıklamaları yaptık arkadaşlar. ve artık güvenli bir şekilde login olabiliriz.  6. satırda özellikle $_POST[“giris_yap”] ı kontrol etmemizin sebebi sayfamızda birden fazla form varsa hangi formun post edildiğini hangi formun butonuna basıldığını kontrol ederek anlayabilmemiz adına yaptık.

Evet arkadaşlar bir dersimizin daha sonuna geldik. Bir sonraki dersimiz Php Dersleri – GET ve POST Örnekleri 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 form işlemleri 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: