Form doğrulama temelleri
Boş alan ve e-posta biçimi denetimi yapmayı öğrenirsin.
Doğrulama neden gerekli?
Sunucuya gelen veriyi hiçbir zaman olduğu gibi kabul etme; doğrula. En temel denetim empty() ile boş alan yakalamaktır: if (empty($_POST['name'])) { ... }. empty() hem tanımsız hem de boş dizeyi yakalar; isset() ise yalnızca tanımsız olanı.
E-posta biçimini denetlemek için filter_var() kullanılır: if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { ... }. filter_var() yerleşik bir doğrulama aracıdır; kendi regex yazmaktan daha güvenlidir.
empty() ve isset() farkı
empty() ve isset() farklı şeyleri denetler. isset($x) değişken tanımlıysa ve null değilse true döner. empty($x) ise değişken tanımsızsa, null, "", "0", 0, false veya boş dizi ise true döner.
Form doğrulamada empty() daha kullanışlıdır: if (empty($_POST['name'])) ile hem eksik hem de boş bırakılmış alanı tek seferde yakalarsın. Eksik anahtar durumunda empty() notice vermez; çünkü tanımsız değişkeni false sayar.
Uygulama E-posta doğrulaması yap
$email = "ayse@codeblanks.com"; ata. if (filter_var($email, FILTER_VALIDATE_EMAIL)) koşulu içinde echo "Geçerli"; yaz. else bloğunda echo "Geçersiz"; yaz.
Örnek çözümü göster
Önce $email = "ayse@codeblanks.com"; yaz. Sonra if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Geçerli"; } else { echo "Geçersiz"; } ekle.
Örnek çözüm:
<?php
// E-posta doğrulaması yap
$email = "ayse@codeblanks.com";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Geçerli";
} else {
echo "Geçersiz";
}
Kendini test et
-
Doğrulama aracını amacına eşle
- empty()
- Boş alan yakalar
- isset()
- Tanımsız değişken denetler
- filter_var()
- E-posta biçimi
- htmlspecialchars()
- XSS engeller
-
E-posta biçimini denetlemenin en güvenli yolu hangisi?
- filter_var($email, FILTER_VALIDATE_EMAIL)
- Kendi regex'ini yazmak
- strpos($email, '@') ile bakmak
- empty($email) ile kontrol
Cevabı göster
filter_var($email, FILTER_VALIDATE_EMAIL) — Doğru. filter_var FILTER_VALIDATE_EMAIL bayrağıyla e-posta biçimini güvenle denetler.
-
filter_var ile e-posta denetimini tamamla
if (!____($email, FILTER_VALIDATE_EMAIL)) { echo "Geçersiz"; }Cevabı göster
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Geçersiz"; }