PHP 7.4 ile form işleme (form handling) nasıl yapılır? ($_GET, $_POST, $_REQUEST)

PHP’de Form İşleme Nedir?

PHP, web uygulamalarında form verilerini işlemek için yaygın olarak kullanılan bir sunucu tarafı programlama dilidir. Kullanıcıdan alınan bilgiler genellikle HTML formları aracılığıyla toplanır ve bu verilerin sunucuya gönderilmesi sağlanır. PHP, bu verileri işlemek için çeşitli süper küresel değişkenler sunar; bunlar arasında $_GET, $_POST ve $_REQUEST bulunur.

$_GET Süper Küresel Değişkeni

$_GET, form verilerinin URL aracılığıyla gönderildiği durumlarda kullanılır. HTTP GET yöntemiyle, form verileri URL’de anahtar-değer çiftleri şeklinde iletilir. Bu yöntem, genellikle daha az hassas bilgi gönderildiğinde tercih edilir. Örnek olarak, bir arama formu ile kullanıcı verilere ulaşmaya çalıştığında kullanılabilir.

Aşağıda basit bir HTML formu ve ona bağlı olarak PHP ile nasıl işleneceğine dair bir örnek bulunmaktadır:

“`html




“`

Bu form, gönderildiğinde URL’ye şu şekilde bir sorgu dizesi eklenir: `process.php?name=John`. PHP dosyasında verilere erişim şu şekilde yapılır:

“`php
$name = $_GET[‘name’];
echo “Gönderilen isim: ” . htmlspecialchars($name);
“`

$_POST Süper Küresel Değişkeni

$_POST, form verilerinin HTTP POST yöntemi aracılığıyla gönderildiği durumlarda kullanılır. POST yönteminde, veriler HTTP isteğinin gövdesinde gönderilir ve URL’de görünmez. Bu durum, genellikle daha fazla veri gönderilmesi veya hassas bilgilerin (şifreler gibi) iletilmesi gerektiğinde tercih edilir.

Aşağıdaki örnek, bir kullanıcı kayıt formunun POST yöntemi ile nasıl işleneceğini göstermektedir:

“`html






“`

Form, gönderildiğinde veriler seri olarak şu şekilde işlenir:

“`php
$username = $_POST[‘username’];
$password = $_POST[‘password’]; // Şifrenin güvenli bir şekilde saklanması önerilir.
echo “Kullanıcı Adı: ” . htmlspecialchars($username);
“`

$_REQUEST Süper Küresel Değişkeni

$_REQUEST, hem $_GET, $_POST hem de $_COOKIE değişkenlerini birleştirerek kullanıcı form verilerine erişim sağlar. Bu, bir formdan gelen verilerin hangi yöntemle gönderildiği önemli değilken kullanılabilir. Ancak, bu kullanımın bazı dezavantajları bulunmaktadır. Örneğin, verilerin hangi kaynaktan geldiğini bilmemek, güvenlik zaafiyetlerine yol açabilir.

Örnek bir form yapısı:

“`html




“`

PHP tarafında işleme:

“`php
$email = $_REQUEST[’email’];
echo “Girilen E-posta: ” . htmlspecialchars($email);
“`

Form Verilerinin Güvenliği

Form verileri ile çalışırken güvenlik kritik bir konudur. Kötü niyetli saldırganlar, form alanlarına zararlı kodlar ekleyebilir. Bu nedenle, kullanıcıdan alınan her türlü verinin doğrulanması ve temizlenmesi gerekmektedir. PHP’de kullanıcıdan alınan verileri işlerken htmlspecialchars() gibi fonksiyonlar kullanmak, XSS (Cross-Site Scripting) saldırılarından korunmak için önemlidir.

Hata Yönetimi

Form işleme sırasında hata yönetimi de dikkate alınmalıdır. Kullanıcı yanlış veya eksik veri girişi yaptığında, kullanıcı arayüzünde uygun hata mesajları gösterilmelidir. Örneğin, bir alanın zorunlu olduğunu belirtmek için, form verilerinin doğruluğu kontrol edilmelidir:

“`php
if (empty($_POST[‘username’])) {
echo “Kullanıcı adı gereklidir.”;
} else {
echo “Kullanıcı Adı: ” . htmlspecialchars($_POST[‘username’]);
}
“`

Sonuç

PHP, web formlarından gelen verileri işlemek için güçlü ve esnek bir yapı sunar. $_GET ve $_POST süper küresel değişkenleri, verilerin nasıl gönderileceğine göre farklı kullanım senaryolarını desteklerken, $_REQUEST değişkeni her üç veri kaynağını bir arada kullanmaya imkan tanır. Kullanıcı verilerinin güvenli bir şekilde işlenmesi, hem kullanıcı deneyimi hem de sistem güvenliği açısından büyük önem taşır. Form verilerinin doğruluğu, temizlenmesi ve güvenli bir şekilde işlenmesi, web uygulamalarının daha sağlam bir şekilde çalışmasına katkı sağlar.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR