Bu geceki yazılara iki adet doğrulama (validation) yazısı ekleyerek son vermek istiyorum. Formlar konusuna girmişken artık aldığımız bilgilerin doğruluklarını da nasıl test edebileceğimizi inceleyebiliriz.
Edit: bkz: PHP'de telefon numarası doğrulaması nasıl yapılır?
Kullanıcılar, her zaman bizim istediğimiz veri yapılarına uygun şekilde giriş yapmazlar. Örneğin bir e-mail adresi yerine 111 yazıp geçmek isteyebilirler ya da kendilerine spam mail göndereceğimizden endişe ederek gerçek mail adreslerini yazmak istemeyebilirler. Bu sebeple kullanıcıların yazdıkları bilgileri öncelikle test etmemiz gerekir. Her ne kadar bu test işlemi öncelikle client (tarayıcı) tarafında yapılacak olsa da ziyaretçinin javascript doğrulamalarını aşabilecekleri dikkate alınarak ikinci bir doğrulama da sunucu tarafında yapılmalıdır.
bkz: JavaScript ile mail doğrulaması (validasyon) yapmak
bkz: ASP.NET'te email doğrulaması (validasyonu) yapmak
Geçerli bir mail adresi, içerisinde boşluk da olmayacak şekilde bir isim ve devamında da (arada @ işareti olacak şekilde) bir domain olmasını gerektirir. Mail adresi doğrulaması yapabilmek için regex doğrulaması da yapabiliriz, ancak bunun yerine PHP'de doğrulama filtreleri içinde yer alan FILTER_VALIDATE_EMAIL kullanımı daha pratiktir.
Örnek 1:
<?php
$adres = "[email protected]";
if (!filter_var($adres, FILTER_VALIDATE_EMAIL))
echo "Hatalı mail adresi";
else
echo "sitemize hoşgeldiniz";
?>
Sonuç: sitemize hoşgeldiniz
Örnek 2:
<?php
$adres = "sdfsdfsdf";
if (!filter_var($adres, FILTER_VALIDATE_EMAIL))
echo "Hatalı mail adresi";
else
echo "sitemize hoşgeldiniz";
?>
Sonuç: Hatalı mail adresi
bkz: PHP GET Metodu ile Form Kullanımı Örneği
bkz: PHP POST Metodu ile Form Kullanımı Örneği
bkz: PHP'de string'i tarihe dönüştürmek (strtotime fonksiyonu)
bkz: PHP'de declare(strict_types=1) kodu ne işe yarar?