formDogrula

php ile yazılmış form doğrulama sınıfı

3. yerleşik PHP fonksiyonlarını kullanma

PHP'nin kendi içerisindeki fonksiyonlarından bazılarını, formDogrula sınıfıyla birlikte kullanabilirsiniz. Fakat bu fonksiyonların geriye "sayısal" veya "alfa-sayısal" türünde bir değer döndürmesi gerekir. Geriye hiçbir değer döndürmeyen veya boolean değerler geri döndüren fonksiyonlar olmamalıdır.

Yerleşik PHP fonksiyonlarını ne zaman kullanmak gerekir?

Örneğin bir üye kayıt formundan kullanıcının parolası geliyor. Siz de bu parolayı md5 fonksiyonu ile şifreleyip saklamak istiyorsunuz. İşte böyle bir durumda, kural içerisine md5 yazarsanız şifreleme işlemini formDogrula sınıfı sizin yerinize otomatik yapacaktır.

Bir başka örnek ise şu olabilir: bir form alanından gelen değer içerisinde herhangi bir HTML kodu olmasını istemeyebilirsiniz. Bu durumda da strip_tags fonksiyonunu kural içerisine yazarak, gelen değerin bütün HTML etiketlerinden arındırılmasını sağlayabilirsiniz.

Girilen parolayı MD5'leyen bir örnek

Şimdi yapacağımız örnekte, kullanıcı parola alanına "123" girdiğinde bu değer otomatik olarak MD5 fonksiyonundan geçirilecek ve geriye "202cb962ac59075b964b07152d234b70" gibi bir değer döndürecek. Bu değere de formSon metodu ile erişebileceksiniz. Kullanıcının girmiş olduğu 123 değerine yani orjinal değere ise formOrj metodu ile erişebilirsiniz.

<?php
  require './formDogrula/eb.formDogrula.php';

  // yeni bir nesne oluşturuyoruz
  $fdo = new formDogrula('uyeFormu', 'post');

  // parola için işlemler
  $fdo->kural('parola', 'Parola', 'gerekli|md5');

  // formu doğrulama işlemini yap ve sonucu ekrana yazdır
  if( $fdo->dogrulat() ) {
echo 'girilen orjinal değer: '.$fdo->formOrj('parola');
echo '<br />';
echo 'elde edilen son değer: '.$fdo->formSon('parola');
} else { echo 'form doğrulama başarısız!'; } ?>

formSon() metodu ile ilgili daha fazla bilgi doğrulanmış olan form değerlerine erişme konusunda, formOrj() metodu ile ilgili daha fazla bilgi ise orjinal form değerlerine erişme konusunda mevcuttur.

yerleşik PHP fonksiyonlarını ard arda kullanmak...

Formdan gelen orjinal değerleri birden fazla PHP fonksiyonundan aynı anda geçirebilirsiniz. Bu durumda fonksiyon isimlerini ard arda yazmanız yeterlidir, ekstra birşey yapmanıza gerek yoktur.

<?php
  require './formDogrula/eb.formDogrula.php';

  // yeni bir nesne oluşturuyoruz
  $fdo = new formDogrula('uyeFormu', 'post');

  // parola için işlemler
$fdo->kural('parola', 'Parola', 'gerekli|ara_uzunluk[5,9]|trim|strip_tags|sha1');
// formu doğrulama işlemini yap ve sonucu ekrana yazdır if( $fdo->dogrulat() ) { echo 'form doğrulama başarılı'; } else { echo 'form doğrulama başarısız!'; } ?>

bu örnekte, formdan gelen parola değerinin sağındaki ve solundaki boşlukları "trim" fonksiyonu ile atıyoruz, eğer html kodu içeriyorsa "strip_tags" fonksiyonu ile temizliyoruz ve son olarak parolayı "sha1" fonksiyonu ile şifreliyoruz. Gerçekten pratik bir çözüm değil mi?

İsterseniz bu fonksiyonları, kendi yazacağınız bir fonksiyon içerisinde toplayabilirsiniz ve bir önceki konuda anlatıldığı gibi Kullanıcı Fonksiyonu (KUL) olarak kullanabilirsiniz.

Yerleşik PHP fonksiyonları daima en sona yazılmalı. gerekli|ara_uzunluk[5,9]|sha1 doğru bir kullanımken gerekli|sha1|ara_uzunluk[5,9] doğru olmayan bir kullanımdır.