• 08-09-2009, 11:21:59
    #1
    Üyeliği durduruldu


    formDogrula (fdo) adında yeni bir php class'ı yazdım. bunu 2 adımda sizlere tanıtmak istiyorum.

    Adım 1: formu oluşturan HTML kodlarını yazalım:
    <form method="post" name="iletisimFormu" action="formGonder.php">
        <p>
            <label>Ad ve Soyad:</label> <br />
            <input name="adSoyad" type="text" size="45" />
        </p>
        <p>
            <label>E-posta adresi:</label> <br />
            <input name="ePosta" type="text" size="45" />
        </p>
        <p>
            <label>Mesaj:</label> <br />
            <textarea name="mesaj" rows="5" cols="34"></textarea>
        </p>
        <p> <button type="submit">Formu Gönder</button> </p>
    </form>
    bu kodların ekran görüntüsü şöyle olacak:



    Adım 2: formDogrula sınıfını kullanarak bu formdan gelen bilgileri doğrulatalım:

    <?php
        // formDogrula sınıfını çağır
        require 'formDogrula/eb.formDogrula.php';
        // formDogrula nesneni oluştur
        $fdo = new formDogrula('iletisimFormu');
        // kurallar
        $fdo->kurallar(
            array('adSoyad', 'Ad ve Soyad', 'gerekli|ara_uzunluk[5,25]|htmlspecialchars'),
            array('ePosta', 'E-posta adresi', 'gerekli|eposta|max_uzunluk[75]'),
            array('mesaj', 'Yorum', 'gerekli|ara_uzunluk[10,1000]|htmlspecialchars')
        );
        // formu doğrulat
        if( ! $fdo->dogrulat() ) {
            echo 'Lütfen formu kontrol ediniz. Aşağıdaki hatalar oluştu:';
            echo '<ul>';
            $fdo->yazHatalar('<li>', '</li>', true);
            echo '</ul>';
        } else {
            echo "Tebrikler. form başarıyla gönderildi.";
        }
    ?>
    Böylece formdan gelen bilgiler 5 ile 25 karakter uzunluğunda olsun, e-posta formatında olsun vs. gibi basit kurallar tanımlayarak iletişim formunu birkaç satır kodla doğruladık. Bu kurallar formDogrula (fdo) sınıfının bir özelliğidir ve eklenti desteği sayesinde kurallar genişletilebilir. Eğer bu iletişim formunu boş gönderirseniz alttaki gibi çıktı alırsınız:

  • 08-09-2009, 11:35:25
    #2
    Üyeliği durduruldu
    eburhan olan sitebilgi siz misiniz bu arada
    yine döktürmüşsünüz ellerinize saglik
  • 08-09-2009, 11:39:53
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    eburhan olan sitebilgi siz misiniz bu arada
    yine döktürmüşsünüz ellerinize saglik
    eburhan r10'da güzel sınıf. php severler için küçük ama önemli bir ihtiyaç.
  • 08-09-2009, 11:41:02
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    küçük mü ? oturup yazsana küçük sınıfı
  • 08-09-2009, 11:43:22
    #5
    Üyeliği durduruldu
    ismailperim adlı üyeden alıntı: mesajı görüntüle
    küçük ama önemli bir ihtiyaç.
    kodlarini inceledim. böyle güzel kod görünce neyseki Düzgün kod yazan Türkler de var diye seviniyor insan.

    yalnız nacizane bir öneri. Direk sitede indirmek yerine bir sihirbaz olsa çok iyi olur. Böylece ametörler bile hiç bilmeden kullanabilirler
  • 08-09-2009, 11:53:25
    #6
    dnmtnk adlı üyeden alıntı: mesajı görüntüle
    küçük mü ? oturup yazsana küçük sınıfı
    Küçük olan sınıf değil. ihtiyaç.

    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    kodlarini inceledim. böyle güzel kod görünce neyseki Düzgün kod yazan Türkler de var diye seviniyor insan.
    yalnız nacizane bir öneri. Direk sitede indirmek yerine bir sihirbaz olsa çok iyi olur. Böylece ametörler bile hiç bilmeden kullanabilirler
    kodlara bende baktım hem düzenli, hem herkesin anlayabileceği, geliştirebileceği şekilde yazılmış.güzel ötesi.
  • 08-09-2009, 12:02:39
    #7
    Üyeliği durduruldu
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    Direk sitede indirmek yerine bir sihirbaz olsa çok iyi olur. Böylece ametörler bile hiç bilmeden kullanabilirler
    teşekkürler öneri için. sitedeki eklentiler biraz daha fazlalaşınca böyle bir uygulama yapacağım.

    ayrıca şöyle birşey de yapacağım. HTML kodlarını yapıştırdıktan sonra veya içerisinde form olan bir HTML dosyasını upload ettikten sonra, tek satır kod yazmadan ve sadece web üzerinden formDogrula kodlarını oluşturabileceksiniz. Bu da sınıfı bilmeyenler veya yeni başlayanlar için oldukça yararlı olacak diye düşünüyorum.
  • 08-09-2009, 12:08:58
    #8
    Üyeliği durduruldu
    deepblue adlı üyeden alıntı: mesajı görüntüle
    teşekkürler öneri için. sitedeki eklentiler biraz daha fazlalaşınca böyle bir uygulama yapacağım.
    ayrıca şöyle birşey de yapacağım. HTML kodlarını yapıştırdıktan sonra veya içerisinde form olan bir HTML dosyasını upload ettikten sonra, tek satır kod yazmadan ve sadece web üzerinden formDogrula kodlarını oluşturabileceksiniz. Bu da sınıfı bilmeyenler veya yeni başlayanlar için oldukça yararlı olacak diye düşünüyorum.
    html sayfasını yapıştırdıktan sonra yada gözat ile upload ettikten sonra dediginizi yapması çok mantikli. Birde daha fazla tutmasını istiyorsaniz bunu bir mailler ile birleştirmenizi öneririm. Amatör kesime inmek istiyorsanız şart. Yoksa az php den anlayan kişiler zaten kendi elle yapabiliyordur basit kontrolleri.
  • 08-09-2009, 12:11:50
    #9
    @ismailperim
    küçük olan ihtiyaç mı Bir ilan sitesi yaptığını düşün ve gelen alanları kontrol ettiğini düşün? bu tarz nesnel kütüphaneler işimizi kolaylaştırıyor unutmayalım..

    			$post = Validation::factory($_POST)
    					->add_rules('baslik','required')
    					->add_rules('ilantip','required')
    					->add_rules('fiyat','required')
    					->add_rules('baslangictarihi','required')
    					->add_rules('bitistarihi','required')
    					->add_rules('aciklama','required');
    			
    			$files = Validation::factory($_FILES)
    						->add_rules('resim.*','upload::valid', 'upload::type[gif,jpg,png]', 'upload::size[1M]');
    			
    			
    			# Form Validation
    			if (!$post->validate() || !$files->validate())
    			{
    				url::redirect('hesabim/ilan-form?durum=0');
    			}
    bakınız add_rules ler için tek tek if else mi girmek daha mantıklı yoksa bir validasyon kullanmak mı daha mantıklı

    dipnot: kohana framework kullanmaktayım.