PHP – PHP’de Form İşlemleri Post ve Get Metodlarının Kullanımı

Kullanıcıdan bilgi toplama için kullanılan formlarda kullanılan iki metod post ve get metodlarının kullanımı ve basit bir saldırının önlenmesini göreceksiniz.Öncelikle post ve get metodlarının farkından bahsedelim.Get metodu istenilen bilgileri direkt olarak link üzerinden gönderir bu yüzden hassas bilgilerin get metodu ile gönderilmesi sakıncalıdır.Get metodu ile gönderilen bir bilgi link üzerinde şöyle gözükmektedir;

localhost/form-get.php?ad=serkan

Post metodu ise daha hassas bilgilerin örneğin kullanıcı adının ve şifresinin gönderilmesi için kullanılır.Bu bilgiler get metodunda olduğu gibi linkte gönderilmez.

Kullanımları ise şu şekildedir.

Get Metodu;

<html>
<body>
<!-- www.programlamadersleri.com -->
<form action="form-get.php" method="get" >
<input type="label" name="ad">	
	<input type="label" name="soyad">
	<input type="submit">
</form><!-- www.programlamadersleri.com -->
</body>
</html>

 

Post Metodu;

<html>
<body>
<!-- www.programlamadersleri.com -->
<form action="form-post.php" method="post" >
<input type="label" name="ad">	
	<input type="label" name="soyad">
	<input type="submit">
</form><!-- www.programlamadersleri.com -->
</body>
</html>

Şimdi ise bu bilgilerin gönderildiği php dosyasında nasıl işleneceğini görelim.

form-get.php

<?php

echo "Adınız:".$_GET["ad"]."<br>Soyadınız:".$_GET["soyad"];

?>

 

Post metodunda ise htmlspecialchars adında bir fonksiyon kullanacağız.Bu fonksiyon girilen bilgilerdeki kodları çalıştırmayacak şekilde tasarlanmıştır.Örneği HTML sayfasında girilen <br> tagları normalde alt satıra kaydırır iken bu fonksiyonu kullandığımızda <br>adınız olarak ekranda çıkacaktır.

form-post.php

<?php
$_POST["ad"]=htmlspecialchars($_POST["ad"]);
$_POST["soyad"]=htmlspecialchars($_POST["soyad"]);
//www.programlamadersleri.com
echo "Adınız:".$_POST["ad"]."<br>Soyadınız:".$_POST["soyad"];

?>