PHP Form İşleme ile Validasyon İşlemleri ve Çözümleri

PHP Form İşleme ile Validasyon İşlemleri ve Çözümleri

PHP form işleme ve validasyon işlemleri ile ilgili en güncel çözümleri öğrenin Sayfamızda detaylı bilgi için tıklayın Hatalı form işlemlerini önleyin

PHP Form İşleme ile Validasyon İşlemleri ve Çözümleri

Bir web sitesinde yer alan form verileri, kullanıcıların bu sitedeki işlemlerini tamamlayabilmeleri için hayati önem taşır. Ancak, form verilerinin doğruluğu, kullanıcının istenilen sonucu elde edebilmesi için kritik bir faktördür. Bu noktada, form verilerinin işlenme sürecinde kullanılabilecek validasyon yöntemleri, verilerin doğruluğunun sağlanmasında büyük bir etkiye sahiptir.

PHP, web geliştiricileri tarafından yaygın bir şekilde kullanılan bir dil olup, form işleme ve validasyon süreçlerinde de sıklıkla tercih edilmektedir. Bu makale, PHP form işleme ile birlikte kullanılabilecek farklı validasyon yöntemlerini ve çözümlerini ele almaktadır. Ayrıca, form verilerinin doğruluğunu kontrol etmek için kullanılabilecek düzenli ifadeler, input kontrolleri, PHP yöntemleri ve Javascript ile ilgili konular da açıklanmaktadır.


Temel Validasyon İşlemleri

Form işleme esnasında doğru verileri almamız oldukça önemlidir. Bu nedenle, form verilerini kontrol etmek ve doğrulamak için farklı yöntemler mevcuttur. Öncelikle, PHP ile verileri almadan önce yapabileceğiniz temel validasyon işlemleri vardır. Bunlar arasında strtolower() ve strtoupper() fonksiyonları, form verilerindeki harfleri küçük ya da büyük harfle yazmak için kullanılabilir.

Ayrıca, is_numeric() fonksiyonu form verilerindeki sayıları kontrol etmek için kullanılabilir. Bu fonksiyon, form verilerinin sayısal olup olmadığını kontrol ederek, uygun olmayan verileri reddedecektir. Ayrıca, empty() fonksiyonu sayesinde boş verileri kontrol edebilirsiniz. Bu fonksiyon formda yer alan alanların boş olup olmadığını kontrol ederek, kullanıcıyı uyarmak için kullanılabilir.

Bu temel validasyon işlemleri ile kullanıcıların formda doğru verileri girmelerini sağlayabilirsiniz. Ancak, daha kapsamlı bir validasyon işlemi için regex (düzenli ifadeler) kullanabilirsiniz.


Regex (Düzenli İfadeler) İle Validasyon

RegEx, yani Düzenli İfadeler, web form validasyonlarında oldukça kullanışlıdır. RegEx kullanarak, istediğimiz tip veri kontrolünü yapabiliriz.

Örneğin, bir web formunda kullanıcıların TC Kimlik numarası bölümüne sadece sayı girilmesini istediğimizi düşünelim. Bu durumda, RegEx kullanarak sadece sayıların girilmesi şartını tanımlayabilir ve hata mesajı vermemizi sağlayabiliriz.

RegEx kullanarak veri kontrolü yapmanın en uygun yolu, PHP'nin preg_match() fonksiyonunu kullanmaktır. Bu fonksiyon, girilen verinin belirlediğimiz desene (pattern) uygun olup olmadığını kontrol eder.

Örneğin, aşağıdaki PHP kodu, Email adresleri için geçerli olan bir RegEx (pattern) kullanarak, girilen verinin bu modele uygun olup olmadığını kontrol eder.

if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/", $email)) { echo "Email is valid";} else { echo "Invalid email address";}

RegEx kullanarak, form verilerinin doğruluğunu kontrol etmek oldukça esnektir. Ancak, açık ve net bir şekilde belirlenmemesi durumunda, hatalı veri girişlerinin önlenmesi için yetersiz kalabilir. Bu nedenle, RegEx kullanırken doğru patternleri belirleme konusunda özenle hareket edilmelidir.


Input Kontrolleri Kullanarak Validasyon

HTML5 ile birlikte birçok input kontrolü eklendi ve bu kontrol öğeleri sayesinde form verilerini kolayca doğrulayabilirsiniz. Bu özellikler sayesinde, form verilerinin doğruluğunu kontrol etme konusunda daha az script kullanmanız gerekebilir.

Bu özellikler şunları içerir:

  • required: Bu özellik, form verilerinde belirtilen alanın boş bırakılamayacağını belirtir.
  • type: Bu özellik, belirli bir input alanının hangi veri türüyle doldurulabileceğini belirtir.
  • min ve max: Bu özellikler, bir input alanına yazılabilecek minimum ve maksimum sayı değerlerini belirler. Bu özellikler sayesinde, kullanıcılar belirli bir aralıkta sayı girerlerse uyarı mesajı alabilirler.
  • pattern: Bu özellik, bir input alanına girilebilecek metin şablonunu belirler. Örneğin, bir telefon numarası veya e-posta adresi için belirli bir şablon kullanabilirsiniz.

Bu input kontrol özellikleri sayesinde, form verilerinin doğruluğunu kolayca kontrol edebilir ve kullanıcıya geri bildirim sağlayabilirsiniz. Özellikle, "required" özelliği form verilerinin tamamlanmamış olması durumunda kullanıcıya uygun bir uyarı mesajı verirken, "min" ve "max" özellikleri belirli aralıkların dışında kalan veya çok yüksek/sıfır bir değer girildiğinde uyarı verir.

HTML5 input kontrol özelliklerini kullanarak, daha az kod yazarak form doğrulama işlemini yapabilir ve sahip olduğunuz scriptleri daha verimli hale getirebilirsiniz.


Required Attribute

Form işleme esnasında, belirli alanların doldurulması özellikle önemlidir. Bu nedenle, kullanıcılar tarafından belirli alanların doldurulmasını zorunlu kılmak için 'required' özelliği kullanılır. Bu özellik ile, formun gönderilmesi öncesinde belirlenmiş alanların doldurulması zorunlu hale gelmektedir. Böylece, kullanıcıların önemli bilgileri eksiksiz ve hatasız bir şekilde göndermesi sağlanır.

Özellikle online alışveriş sitelerinde sıklıkla kullanılan 'required' özelliği, form verileri üzerinde büyük bir kontrol sağlar. Ayrıca, kullanıcılardan gerekli bilgileri almak için başvurulan bir yöntemdir. Ancak, aşırıya kaçmak her zaman doğru değildir. Kullanıcıların gereksiz yere zorlandığı bir form, sitenin terk edilmesine neden olabilir. Bu nedenle, form alanlarının belirlenmesinde dikkatli olmak ve sadece gerekli alanları zorunlu kılmak faydalı olacaktır.


Pattern Attribute

Formunuza girilmesini istediğiniz verilerin düzenini belirlemek ve kontrol etmek için pattern özelliğini kullanabilirsiniz. Bu özellik, form alanlarındaki verilerin belirli kodlama özelliklerine sahip olmasını zorunlu kılar. Örneğin, bir telefon numarası için belirli bir biçim tanımlayabilirsiniz.

Motif Açıklama Örnek
\d{10} 10 rakam 5551234567
[\w.%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} E-posta Adresi example@example.com

Yukarıdaki tabloda, telefon numarası ve e-posta adreslerinin sınırlandırılması için bazı örnekler verilmiştir. Formunuzu tasarlarken, bu örnekleri kullanarak kendi patterlerinizi oluşturabilirsiniz.


PHP İle Form Validasyonu

PHP ile form validasyonu, formda bulunan verilerin doğruluğunu kontrol etmek için sıkça kullanılan bir yöntemdir. Bu sayede, formda hataların oluşmasının ve istenmeyen verilerin işlenmesinin önüne geçilebilir. Form verilerini PHP ile işlemek ve kontrol etmek için birçok farklı yöntem bulunmaktadır.

Bu yöntemler arasında ilk olarak sanitize işlemi yer almaktadır. Sanitize işlemi, form verilerinde yer alan zararlı kodlardan kurtulmak ve temizlemek için kullanılır. Bunun yanı sıra, filter işlemi de kullanılabilir. Filtreler sayesinde form verilerinin uygunluğu kontrol edilir ve istenmeyen verilerin işlenmesi engellenir.

PHP ile form validasyonunda bir diğer kullanılan yöntem ise düzenli ifadelerdir. Düzenli ifadeler sayesinde, form verilerinin uygunluk kontrolü yapılabilir ve doğrulama işlemi gerçekleştirilebilir. Ayrıca, required ve pattern özellikleri kullanılarak da form verilerinin uygunluğu kontrol edilebilir.

Bunların yanı sıra, PHP ile form validasyonu yapılırken, form verilerinin uygunluğunu kontrol etmek için kullanılan diğer bir yöntem de input kontrolleridir. HTML5 ile birlikte birçok yeni özellik gelmiş ve bunlar sayesinde input tag'leri kullanılarak form verilerinin uygunluğu kontrol edilebilmektedir. Örneğin, required attribute ile kullanıcıdan form verisinde bulunması zorunlu olan bilgiler alınabilir. Pattern attribute yardımıyla ise form alanına yazılacak veriler sınırlandırılabilir ve kontrol edilebilir.

Sonuç olarak, PHP ile form validasyonu oldukça önemli bir işlemdir. Bu sayede, form verilerinin doğruluğu kontrol edilir ve istenmeyen verilerin işlenmesi engellenir. Yapılacak olan işlemler arasında, sanitize işlemi, filter işlemi, düzenli ifadeler, required ve pattern özellikleri ile input kontrolleri yer almaktadır. Bu yöntemlerin kullanımı sayesinde form verilerinin uygunluğu kontrol edilebilir ve hataların önüne geçilebilir.


Sanitize İşlemi

Form verileri işlenirken kullanıcıların zararlı amaçlı kodları göndermesi engellenmelidir. Bu amaçla, sanitize işlemi kullanılarak kullanıcı girdilerindeki potansiyel tehlikeler ortadan kaldırılır. Bu yöntem, kullanıcıların form verilerinde yer alan zararlı kodların etkisini azaltır veya tamamen yok eder.

Birçok yöntem vardır ve bunlardan bazıları şunlardır:

  • htmlspecialchars(), kullanıcı girdilerinin html kodlarını özel karakterler ile değiştirerek, saldırganların kod enjekte etmesini önleyebilir.
  • strip_tags(), html etiketleri olmadan, kullanıcı girdilerindeki metni aldığınızda kullanışlıdır.
  • mysqli_real_escape_string(), veritabanında kullanılan özel karakterleri önce escape eder, böylece saldırganlar sayesinde gelebilecek sql enjeksiyonlarının önüne geçer.

Sanitize işlemi önemlidir ve doğru bir şekilde kullanıldığında, web sitenizin güvenliğini sağlamak ve kullanıcıların bilgilerini korumak için etkili bir yöntemdir.


Filter İşlemi

Filter işlemi, PHP'de kullanabileceğiniz farklı filtrelerle verilerinizi kontrol edebilme olanağı sunar. Bu sayede kullanıcıların girdiği verileri uygunluğunu ve doğruluğunu kontrol edebilirsiniz. Filter_var() fonksiyonu, filter_var_array() fonksiyonu ve filter_input() fonksiyonu ile farklı filtreler kullanarak verilerinizi kontrol edebilirsiniz. Bunlar aşağıda detaylı bir şekilde anlatılacaktır.

filter_var() fonksiyonu, belirtilen veriyi belirtilen filtreye göre kontrol eder. Örneğin, eğer bir e-mail adresinin doğruluğunu kontrol etmek istiyorsanız FILTER_VALIDATE_EMAIL filtresini kullanabilirsiniz. filter_var() fonksiyonu aşağıdaki gibi kullanılabilir:

```php$email = "example@example.com";if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "Geçersiz email formatı";} else { echo "Geçerli email formatı";}```

filter_var_array() fonksiyonu, birden fazla veriyi birden fazla filtreye göre kontrol etmek için kullanılır. Bu fonksiyon aşağıdaki gibi kullanılabilir:

```php$data = array( "name" => "John Doe", "age" => "25", "email" => "john@example.com");

$filters = array( "name" => FILTER_SANITIZE_STRING, "age" => array( "filter" => FILTER_VALIDATE_INT, "options" => array( "min-range" => 0, "max-range" => 200 ) ), "email" => FILTER_VALIDATE_EMAIL);

$result = filter_var_array($data, $filters);

if ($result["name"] === false) { echo "Geçersiz ad formatı";}if ($result["age"] === false) { echo "Geçersiz yaş formatı";}if ($result["email"] === false) { echo "Geçersiz email formatı";}```

filter_input() fonksiyonu, belirtilen bir girdinin belirtilen filtreye göre kontrol edilmesini sağlar. Bu fonksiyon aşağıdaki gibi kullanılabilir:

```php$email = filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL);if ($email === false) { echo "Geçersiz email formatı";} else { echo "Geçerli email formatı";}```

Bu filtreler sayesinde kullanıcıların girdiği verilerin uygunluğunu kontrol ederek daha güvenilir bir form sistemi oluşturabilirsiniz. Bu filtrelere ek olarak birçok farklı filtre de mevcuttur. Farklı filtreler hakkında detaylı bilgi almak için PHP resmi dökümanlarını inceleyebilirsiniz.


Javascript İle Form Validasyonu

Form verilerinin doğruluğunu kontrol etmek için, Javascript kullanarak ön tarafta basit validasyonlar yapabilirsiniz. Ad, soyad ya da şifre gibi alanlara girilen verilerin uygunluğunu kontrol etmek isteyebilirsiniz. Bunun için, düzenli ifadeleri kullanarak verilerin doğruluğunu kontrol edebilirsiniz.

Örneğin, bir isim alanına sadece harflerin girilmesi gerekiyorsa, uygun karakterleri sağlamayan yazıların kabul edilmesini engelleyebilirsiniz. Aynı şekilde sayı, şifre ya da email alanlarına girilen verilerin de uygunluğunu kontrol edebilirsiniz. Bu yöntemler, kullanıcı hatasını azaltarak, veri uygunluğunu sağlar.

Bunun dışında, jQuery kütüphanesi sayesinde form validasyon işlemlerini kolayca yapabilirsiniz. Bu kütüphane sayesinde, form alanlarına girilen verileri daha ayrıntılı bir şekilde kontrol edebilir ve kullanıcılara geri bildirimler sağlayabilirsiniz. Örneğin, yanlış bir form doldurulduğunda hata mesajları göstererek doğru bilgilendirme yapılabilir.

JavaScript ile form validasyonu yapmak, özellikle web sayfasının daha iyi performans göstermesi ve kullanıcıların hızlı bir şekilde form doldurmalarını sağlamak için oldukça önemlidir.


Temel Javascript Validasyonu

Form verilerini kontrol etmenin bir başka yöntemi, Javascript ile basit validasyonlar yapmaktır. Bu yöntem, daha az veri işlemeyi gerektirdiği için kullanışlıdır.

Örneğin, kullanıcının ad ve soyadı gibi gereken alanları doldurduğundan emin olmak için basit bir fonksiyon yazabiliriz:

Javascript Kodu:
function formControl() {  var ad = document.forms["myForm"]["ad"].value;  var soyad = document.forms["myForm"]["soyad"].value;  if (ad == "" || soyad == "") {    alert("Lütfen ad ve soyad alanlarını doldurunuz.");    return false;  }}    

Bu fonksiyon, form verilerinin uygunluğunu kontrol eder ve eğer gereken alanlar doldurulmamışsa kullanıcıya hata mesajı verir.

Bu yöntem, basit validasyonlar yapmak için idealdir ancak daha karmaşık validasyonlar için diğer yöntemler gerekebilir.


jQuery Validate Kütüphanesi

jQuery kütüphanesi, form verilerinin doğruluğunu kontrol etmek için oldukça kullanışlı bir araçtır. Bu kütüphane ile form verilerinin geçerliliği kolayca kontrol edilebilir ve kullanıcılara geri bildirimler sağlanabilir.

Kütüphaneyi kullanmak için, öncelikle jQuery dosyasını sayfanıza dahil etmeniz gerekir. Daha sonra, jQuery Validate kütüphanesini de dahil etmelisiniz. Kütüphane, form validasyonu için birçok özellik sunar. Bunlardan bazıları şunlardır:

  • required: Form alanlarının boş bırakılması engellenir.
  • email: Alanın email formatında olup olmadığını kontrol eder.
  • number: Alanın sayısal değerler içerip içermediğini kontrol eder.
  • url: Alanın URL formatında olup olmadığını kontrol eder.
  • maxlength: Alanın maksimum karakter sayısını sınırlandırır.

Kütüphane aynı zamanda, özel doğrulama kuralları oluşturmanıza da izin verir. Örneğin, belirli bir tarihten önce doğmuş olan kullanıcıların formu doldurmasını engelleyebilirsiniz.

jQuery Validate kütüphanesi sayesinde kullanıcılar, hatalı girişler yaptığında kolayca uyarılır ve hangi alanların hatalı olduğu gösterilir. Böylece, kullanıcılar doğru bilgilerle formu doldurabilirler ve istenmeyen hataları engelleyebilirsiniz.