• 22-09-2010, 22:10:30
    #1
    Merhabalar..

    Tc kimlik no doğrulaması için web servislerini kullanan bir class yazdım belki işinize yarar diye paylaşıyorum.

    Hem tc kimlik no doğru mu diye bakar hem de tc kimlik no verilen isim,soyad ve yaş bilgileri ile uyuşuyor mu diye...

    <?php
    /**
    * @author ismet işcan (Dr.iq)
    * @email dr.lq@hotmail.com
    * @website http://www.iscansoft.com
    * @yıl 2010
    * @ScriptAdi Tc kimlik numarası doğrulama
    */
    
    class Tckimlik_dogrula
    {
        private   $tc_no;
        private   $ad;
        private   $soy_ad;
        private   $dogum_yili;
        public    $soap_cevap;
        
        function __construct($tc_no,$ad,$soy_ad,$dogum_yili)
        {
            $this->tc_no      = $tc_no;
            $this->ad         = $ad;
            $this->soy_ad     = $soy_ad;
            $this->dogum_yili = $dogum_yili;
            $this->soap_istek_yap();
    
        }
        private function soap_istek_yap()
        {
            $c = curl_init();
            curl_setopt($c,CURLOPT_URL,'http://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx');
            curl_setopt($c,CURLOPT_POST,TRUE);
            curl_setopt($c, CURLOPT_HTTPHEADER, array('Content-Type: application/soap+xml'));
            curl_setopt($c,CURLOPT_POSTFIELDS,'<?xml version="1.0" encoding="latin5"?>
            <soap12:Envelope  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema"  xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
              <soap12:Body>
                <TCKimlikNoDogrula xmlns="http://tckimlik.nvi.gov.tr/WS">
                  <TCKimlikNo>'.$this->tc_no.'</TCKimlikNo>
                  <Ad>'.$this->ad.'</Ad>
                  <Soyad>'.$this->soy_ad.'</Soyad>
                  <DogumYili>'.$this->dogum_yili.'</DogumYili>
                </TCKimlikNoDogrula>
              </soap12:Body>
            </soap12:Envelope>');
            curl_setopt($c,CURLOPT_RETURNTRANSFER,TRUE);
            $cikti = curl_exec($c);
            curl_close($c);
            $this->soap_isle($cikti);
            
        }
        private function soap_isle($c)
        {
            if($c)
            {
                preg_match('#<TCKimlikNoDogrulaResult>(.*?)</TCKimlikNoDogrulaResult>#',$c,$kk);
                if($kk[1] == 'true')
                {
                    $this->soap_cevap = 'd';
                }elseif($kk[1] == 'false')
                {
                    $this->soap_cevap = 'y';
                }else
                {
                    $this->soap_cevap = 'tc_yanlis';
                }
                
            }
        }
    }
    
    // Kullanımı
    $tc =   new Tckimlik_dogrula('tc kimlik numarası','ismet','işcan',1987);
    if($tc->soap_cevap == 'd')
    {
        // verilen tc kimlik numarası doğrudur ve diğer bilgiler uyuyor (ad,soyad,doğum tarihi)
        echo 'tc kimlik numarası doğrudur';
    }elseif($tc->soap_cevap == 'y')
    {
        // verilen tc kimlik numarası doğrudur fakat diğer bilgiler uymuyor (ad,soyad,doğum tarihi)
        echo 'verilen tc kimlik numarasına diğer bilgiler uymuyor (ad,soyad,doğum tarihi)';
    }else
    {
        // verilen tc kimlik numarası yanlıştır.
        echo 'verilen tc kimlik numarası yanlıştır';
        
    }
    ?>
    Lütfen author bilgisini silmeyin.
    Diğer paylaştığım adres ceviz.net

    Kolay gelsin.
  • 23-09-2010, 10:35:49
    #2
    Üyeliği durduruldu
    güzel bir calisma olmus. ellerinize saglik. class degilde direk fonksiyon olarakta kulanilabilir
  • 23-09-2010, 10:48:45
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    güzel bir calisma olmus. ellerinize saglik. class degilde direk fonksiyon olarakta kulanilabilir
    Teşekkürler, class'a gerek yoktu zaten fakat class öğrenmeye çalışanlara belki faydası olur diye yaptım bu şekilde.
  • 27-09-2010, 12:41:26
    #4
    Üyeliği durduruldu
    Çok iyi bir çalışma olmuş, ilk fırsatta arşivime ekleyip deneyeceğim Paylaşım için çok teşekkürler.
  • 27-09-2010, 17:17:49
    #5
    Üyeliği durduruldu
    Dr.iq adlı üyeden alıntı: mesajı görüntüle
    Merhabalar..

    Tc kimlik no doğrulaması için web servislerini kullanan bir class yazdım belki işinize yarar diye paylaşıyorum.

    Hem tc kimlik no doğru mu diye bakar hem de tc kimlik no verilen isim,soyad ve yaş bilgileri ile uyuşuyor mu diye...

    <?php
    /**
    * @author ismet işcan (Dr.iq)
    * @email dr.lq@hotmail.com
    * @website http://www.iscansoft.com
    * @yıl 2010
    * @ScriptAdi Tc kimlik numarası doğrulama
    */
    
    class Tckimlik_dogrula
    {
        private   $tc_no;
        private   $ad;
        private   $soy_ad;
        private   $dogum_yili;
        public    $soap_cevap;
        
        function __construct($tc_no,$ad,$soy_ad,$dogum_yili)
        {
            $this->tc_no      = $tc_no;
            $this->ad         = $ad;
            $this->soy_ad     = $soy_ad;
            $this->dogum_yili = $dogum_yili;
            $this->soap_istek_yap();
    
        }
        private function soap_istek_yap()
        {
            $c = curl_init();
            curl_setopt($c,CURLOPT_URL,'http://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx');
            curl_setopt($c,CURLOPT_POST,TRUE);
            curl_setopt($c, CURLOPT_HTTPHEADER, array('Content-Type: application/soap+xml'));
            curl_setopt($c,CURLOPT_POSTFIELDS,'<?xml version="1.0" encoding="latin5"?>
            <soap12:Envelope  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema"  xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
              <soap12:Body>
                <TCKimlikNoDogrula xmlns="http://tckimlik.nvi.gov.tr/WS">
                  <TCKimlikNo>'.$this->tc_no.'</TCKimlikNo>
                  <Ad>'.$this->ad.'</Ad>
                  <Soyad>'.$this->soy_ad.'</Soyad>
                  <DogumYili>'.$this->dogum_yili.'</DogumYili>
                </TCKimlikNoDogrula>
              </soap12:Body>
            </soap12:Envelope>');
            curl_setopt($c,CURLOPT_RETURNTRANSFER,TRUE);
            $cikti = curl_exec($c);
            curl_close($c);
            $this->soap_isle($cikti);
            
        }
        private function soap_isle($c)
        {
            if($c)
            {
                preg_match('#<TCKimlikNoDogrulaResult>(.*?)</TCKimlikNoDogrulaResult>#',$c,$kk);
                if($kk[1] == 'true')
                {
                    $this->soap_cevap = 'd';
                }elseif($kk[1] == 'false')
                {
                    $this->soap_cevap = 'y';
                }else
                {
                    $this->soap_cevap = 'tc_yanlis';
                }
                
            }
        }
    }
    
    // Kullanımı
    $tc =   new Tckimlik_dogrula('tc kimlik numarası','ismet','işcan',1987);
    if($tc->soap_cevap == 'd')
    {
        // verilen tc kimlik numarası doğrudur ve diğer bilgiler uyuyor (ad,soyad,doğum tarihi)
        echo 'tc kimlik numarası doğrudur';
    }elseif($tc->soap_cevap == 'y')
    {
        // verilen tc kimlik numarası doğrudur fakat diğer bilgiler uymuyor (ad,soyad,doğum tarihi)
        echo 'verilen tc kimlik numarasına diğer bilgiler uymuyor (ad,soyad,doğum tarihi)';
    }else
    {
        // verilen tc kimlik numarası yanlıştır.
        echo 'verilen tc kimlik numarası yanlıştır';
        
    }
    ?>
    Lütfen author bilgisini silmeyin.
    Diğer paylaştığım adres ceviz.net

    Kolay gelsin.
    Paylaşım için teşekkürler.
  • 27-09-2010, 18:53:27
    #6
    Paylaşım için tşkler
  • 28-09-2010, 01:23:43
    #7
    js ile söyle bir kod yazdım bir hafta önce ihtiyacı olan varsa kullanabilir.

    https://www.r10.net/javascript-progra...dogrulama.html