PHP ile Form Verilerini Almak ve İşlemek

Web uygulamalarında kullanıcıdan veri almanın temel yolu HTML formlarıdır. PHP, bu formlardan gelen verileri $_GET ve $_POST adı verilen süper küresel (superglobal) diziler aracılığıyla yakalar.

GET ve POST Yöntemleri

Yöntem Kullanım Alanı Güvenlik & Görünürlük
GET Arama kutuları, sayfalama gibi küçük veriler. Veriler URL adresinde görünür. Hassas veriler için uygun değildir.
POST Üyelik formları, mesaj gönderme, dosya yükleme. Veriler arka planda gönderilir (URL'de görünmez). Daha güvenli ve kapasitelidir.

Kod Örneği: Basit Bir Form ve Veri Kontrolü

PHP GET & POST Example
<?php
// Form gönderildi mi kontrol edelim
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Verileri alırken HTML etiketlerinden temizlemek (Security) önemlidir
    $kullanici_adi = htmlspecialchars($_POST['username']);
    $eposta        = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);

    if (!empty($kullanici_adi)) {
        echo "Merhaba " . $kullanici_adi . ", formun başarıyla alındı!";
    }
}
?>

<!-- HTML Form Örneği -->
<form method="POST" action="">
    <div class=\"mb-3\">
        <input type="text" name="username" placeholder="Adınız" class="form-control">
    </div>
    <div class=\"mb-3\">
        <input type="email" name="email" placeholder="E-posta" class="form-control">
    </div>
    <button type="submit" class="btn btn-primary">Gönder</button>
</form>
🛡️ Güvenlik Uyarısı: Kullanıcıdan gelen verilere asla güvenmeyin! Verileri veritabanına kaydetmeden önce mutlaka filter_var(), htmlspecialchars() veya PDO'un prepare() yapısını kullanarak dezenfekte edin.

Hangisini Seçmelisiniz?

  • Kullanıcı bir sayfayı yer imlerine ekleyebilmeli veya paylaşabilmeliyse GET kullanın.
  • Şifre, kredi kartı gibi kişisel bilgiler gönderiliyorsa mutlaka POST kullanın.