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
// 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.