İlginizi Çekebilir
  1. Ana Sayfa
  2. PHP

PHP Input Format Kontrolleri Yapmak

PHP Input Format Kontrolleri Yapmak
PHP Input Format Kontrolleri Yapmak
+ - 0

Merhaba, PHP Input Format Kontrolleri Yapmak yazım ile php yazılarıma devam ediyorum. Bu yazımızda, kullanıcıdan bilgi isterken, olabildiğince kurallara uygun veriler girmelerini sağlamak için bazı kontroller yapmamız gerekiyor. Örneğin bir kullanıcıdan isim ve soyisim istediğimizde, biliyoruz ki isim ve soyisimlerde rakam veya özel işaret kullanılmaz. Bu yüzden kullanıcının bu isim ve soyisim girerken bu hatalı karakterleri kullanmasını engellememiz gerekir. Bu yazımda da biraz bundan bahsedeceğim.

Türkiye’de kullanımını görmesem de yabancılarda isimlerde kesme işareti ( ‘ ) veya nokta da kullanılabilmektedir. Projelerinizde buna dikkat etmek isteyebilirsiniz.

 

PHP Input Format Kontrolleri Yapmak

Mesleki bir yaklaşım olarak kendi sınıflarımı oluşturmak ve kullanma eğilimindeyim. Hangi dil olursa olsun 2 kere kullanacağım şeyleri gruplayarak bir sınıf haline getiririm. Bu sınıfları da kullana kullana geliştirir ve nihai bir noktaya getirmek için çabalarım. Sonrasında da bu sınıfları başka projelerimde kullanırım.

Bu yazının konusu olan kontroller içinde aynı şekilde. En azından 2. kere kullanacağım hatta kullanma ihtimalim var ise kesinlikle bir sınıfta yer alır. Şimdi gelin birlikte bu kontrolleri nasıl yaptığıma bakalım.

Vereceğim metotlarda, geri dönüş true veya false olarak belirlenmiştir. Eğer şartlara uyarsa true uymazsa false döner. Siz bu dönüşlere göre işlemlerinizi yaparsınız.

PHP Sadece Harf Kullanımına İzin Vermek

Bu metot ile sadece Latin ve Türkçe harflere izin verilir. Türkçe harfler Latin alfabesinde ekstra oldukları için özellikle aşağıda fark edeceğinizi şekilde ekstra belirtmemiz gerekiyor.

    public function JustTextChecker($text) // Sadece Harf içerebilir. Kullanım Soyisim 
    {
        if (!preg_match("/^[a-zA-Zşüğöıç]*$/", $text)) {
            return false;
        } else {
            return true;
        }
    }

PHP Sadece Harf ve Boşluk Kullanımına İzin Vermek

Bu metot ile sadece Latin ve Türkçe harfler ve boşluk kullanımına izin verilir. Türkçe harfler Latin alfabesinde ekstra oldukları için özellikle aşağıda fark edeceğinizi şekilde ekstra belirtmemiz gerekiyor.

    public function TextBlankChecker($text) // Sadece Harf ve Boşluk içerebilir. Kullanım İsim 
    {
        if (!preg_match("/^[a-zA-Z-şüğöıç ]*$/", $text)) {
            return false;
        } else {
            return true;
        }
    }

 

PHP Sadece Rakam Kullanımına İzin Vermek

Bu metot ile sadece rakam kullanımına izin verilir.

    public function JustNumberChecker($text) // Sadece Rakam içerebilir. Kullanım Fiyat, Yıl vs. 
    {
        if (!preg_match("/^[0-9]*$/", $text)) {
            return false;
        } else {
            return true;
        }
    }

 

PHP Sadece Harf, Rakam ve Nokta Kullanımına İzin Vermek

Bu metot ile sadece Latin harfler rakam ve nokta kullanımına izin verilir. Kullanım amacına istinaden Türkçe harfler kullanılamaz.

   public function LetterNumberChecker($text) // Sadece Harf, Sayı ve nokta içerebilir. Kullanım KullanıcıAdı
    {
        if (!preg_match("/^[a-z0-9.]+$/i", $text)) {
            return false;
        } else {
            return true;
        }
    }

 

PHP URL Kontrolü

Bu metot girilen değerin bir url olup olmadığını kontrol edebiliriz.

   public function URLChecker($text)
    {
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $text)) {
            return false;
        } else {
            return true;
        }
    }

 

PHP E-Mail Kontrolü

Bu metot girilen değerin bir e-mail olup olmadığını kontrol edebiliriz. Burada PHP’nin orjinal metotlarından birini kullanıyoruz.

    public function EmailChecker($text)
    {
        if (!filter_var($text, FILTER_VALIDATE_EMAIL)) {            
            return false;
        } else {
            return true;
        }

 

Gördüğünüz gibi benim mevcut kontollerim bu şekilde. Elbette zamanla büyüyecek ve gelişecek bir sınıftır. Bilinen tüm kontrolleri en baştan ekleyebilirim ama bana göre bir davranış olmazdı. :D Şahsen bir şeyi lazım olduğunda yapmak ve çalıştığından emin olmak benim için olmazsa olmadır.

 

Tüm Kodlar – Github’da Ders6

<?php

class FormatCheckerSystem
{
    public function TextBlankChecker($text) // Sadece Harf ve Boşluk içerebilir. Kullanım İsim 
    {
        if (!preg_match("/^[a-zA-Z-şüğöıç ]*$/", $text)) {
            return false;
        } else {
            return true;
        }
    }
    public function JustTextChecker($text) // Sadece Harf içerebilir. Kullanım Soyisim 
    {
        if (!preg_match("/^[a-zA-Zşüğöıç]*$/", $text)) {
            return false;
        } else {
            return true;
        }
    }
    public function LetterNumberChecker($text) // Sadece Harf, Sayı ve nokta içerebilir. Kullanım KullanıcıAdı
    {
        if (!preg_match("/^[a-z0-9.]+$/i", $text)) {
            return false;
        } else {
            return true;
        }
    }
    public function JustNumberChecker($text) // Sadece Rakam içerebilir. Kullanım Fiyat, Yıl vs. 
    {
        if (!preg_match("/^[0-9]*$/", $text)) {
            return false;
        } else {
            return true;
        }
    }
    public function URLChecker($text)
    {
        if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $text)) {
            return false;
        } else {
            return true;
        }
    }
    public function EmailChecker($text)
    {
        if (!filter_var($text, FILTER_VALIDATE_EMAIL)) {            
            return false;
        } else {
            return true;
        }
    }
}

 

 


PHP Input Format Kontrolleri Yapmak yazımda bu kadardı arkadaşlar. Diğer yazılarımda görüşmek üzere…  Discord’a katılmayı unutmayın.

PHP Dersleri için başlattığım repoya bağlantıya tıklayarak ulaşabilirsiniz. Dersin kodları burada… :) Tüm PHP yazılarım için tıklayabilirsiniz.

Kodla kalın. :)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)