PHP Form İşlemleri

PHP ile dinamik web siteleri oluştururken form işlemleri büyük bir öneme sahiptir. Kullanıcılardan veri almak, bu verileri işlemek ve gerektiğinde saklamak için HTML formları ile PHP’nin GET ve POST metodları kullanılır.

Bu yazıda, PHP ile form verilerini nasıl alabileceğinizi ve nasıl işleyeceğinizi detaylı bir şekilde öğreneceksiniz.


1. HTML Formları ve PHP ile Veri Gönderme

Bir form, kullanıcının girdiği bilgileri sunucuya göndermek için kullanılır. Form elemanları, kullanıcıdan alınan verileri işler ve PHP’ye gönderir.

📌 Örnek Temel Form

Aşağıdaki formda kullanıcıdan bir isim bilgisi alınıyor ve islem.php sayfasına gönderiliyor.

<form action="islem.php" method="POST">
    <label>Adınız:</label>
    <input type="text" name="ad"><br><br>
    <input type="submit" value="Gönder">
</form>

🔹 action="islem.php" → Form verileri islem.php sayfasına gönderilir.
🔹 method="POST" → Form verisi POST metodu ile gönderilir.


2. PHP ile Formdan Gelen Veriyi Alma

a) POST Metodu ile Veri Alma

POST metodu, kullanıcının girdiği verileri gizli bir şekilde sunucuya gönderir. URL’de görünmez ve büyük boyutlu veriler için uygundur.

📌 PHP ile POST Verisini İşleme (islem.php)

<?php
echo "Adınız: " . $_POST["ad"];
?>

🚀 Sonuç: Kullanıcı formu doldurup gönderdiğinde, girilen isim ekranda gösterilir.

Önemli Not: Kullanıcı formu boş gönderirse veya doğrudan bu sayfaya erişirse hata alabilirsiniz. Bunu önlemek için isset ile kontrol yapmalısınız.


b) GET Metodu ile Veri Alma

GET metodu, verileri URL üzerinden gönderir. Bu yüzden hassas bilgileri GET ile göndermek güvenli değildir. Ancak arama işlemleri, filtreleme gibi durumlarda kullanılabilir.

📌 GET Metodu ile Form Verisi Gönderme

<form action="islem.php" method="GET">
    <label>Adınız:</label>
    <input type="text" name="ad"><br><br>
    <input type="submit" value="Gönder">
</form>

📌 GET Verisini PHP ile Alma (islem.php)

<?php
echo "Adınız: " . $_GET["ad"];
?>

🚀 Sonuç: Kullanıcı formu doldurduğunda, isim bilgisi URL’de görünür şekilde gönderilir.

Örneğin, kullanıcı “Ali” ismini girdiğinde, URL şu şekilde olur:

islem.php?ad=Ali

GET Metodunun Avantajları ve Dezavantajları

Avantajlar:
✔ URL üzerinden veri taşındığı için sayfa yenilendiğinde veri kaybolmaz.
✔ Kullanıcılar, URL’yi kopyalayarak doğrudan belirli sayfalara yönlendirebilir.

Dezavantajlar:
Veriler URL’de göründüğü için güvenli değildir.
Sadece kısa veriler gönderilebilir.


3. PHP’de Form Verilerini Kontrol Etmek ve Güvenli Kullanım

Formlardan gelen veriler doğrudan kullanılmamalıdır. Kullanıcılar yanlış veya zararlı veri gönderebilir. Bunun önüne geçmek için kontroller eklemeliyiz.

📌 Daha Güvenli Veri Kontrolü

<?php
if (isset($_POST["ad"]) && !empty($_POST["ad"])) {
    echo "Adınız: " . $_POST["ad"];
} else {
    echo "Lütfen isminizi girin!";
}
?>

📌 Önerilen Güvenlik Önlemleri

🔹 Boş veri kontrolü: empty($_POST["ad"])
🔹 HTML etiketlerini engellemek: htmlspecialchars($_POST["ad"])
🔹 Boşlukları temizlemek: trim($_POST["ad"])

Daha güvenli bir kullanım için şu kodu uygulayabilirsiniz:

<?php
if (isset($_POST["ad"]) && !empty($_POST["ad"])) {
    $ad = trim(htmlspecialchars($_POST["ad"]));
    echo "Adınız: " . $ad;
} else {
    echo "Lütfen isminizi girin!";
}
?>

🚀 Bunun Faydaları:
Boş bırakılan alanları kontrol eder.
Kötü amaçlı HTML ve JavaScript kodlarını filtreler.
Başında veya sonunda gereksiz boşlukları temizler.


4. POST ve GET Arasındaki Farklar

ÖzellikPOSTGET
Veri gönderme şekliArka planda (gizli)URL üzerinden (açık)
GüvenlikDaha güvenliHassas veriler için güvenli değil
Veri boyutuBüyük veriler için uygunKüçük veriler için uygun
Sayfa yenileme sonrasıVeri kaybolurVeri URL’de kaldığı için korunur
Kullanım alanlarıForm verileri, giriş işlemleriArama sorguları, sayfa filtreleme
guest
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments
0
YORUM YAPx