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.