Total Users Online: 0 üye, 347 guest | Tarih/Saat: 2026-08-25 02:35
 
T.C. kimlik numarası doğrulama fonksiyonu
2010-07-11 01:36 GMT  oklu Alnt
Kaan

User is: Online status   Gender_M
Posts: 2772
Ülke: İstanbul - 34
Meslek: Serbest Meslek
Age: 43

T.C. kimlik numaras? do?rulama fonksiyonu

Kullanabilmeniz i?in curl k?t?phanesinin y?kl? olmas? gerekli. Ufak tefek hatalar olabilir.
:
hp] <?php

/**

 * T.C. kimlik numaras? do?rulama fonksiyonu...

 *

 * Kullanabilmeniz i?in curl k?t?phanesinin y?kl? olmas? gerekli

 * Fonksiyon True veya False de?eri d?nd?r?r.

 *         __VIEWSTATE ve __EVENTVALIDATION hidden form de?erlerinin siteye ?nceden ba?lan?p al?nmas? sa?land?.

 *

 * @param int $TcKimlikNo

 * @param str $ad

 * @param str $soyad

 * @param int $dogum

 * @return true veya false

 */

function TcKimlikNo($TcKimlikNo,$ad,$soyad,$dogum){



    #Ad soyad? b?y?k harfe ?evir

    #? harfi Utf-8'de sorun ??kard??? i?in b?le bir ??z?m buldum

    $tr=array(

    '?' => '?',

    '?' => '?',

    '?' => 'I',

    'i' => '?',

    '?' => '?',

    '?' => '?',

    '?' => '?',

    '?' => '?');

    $ad=strtr(strtoupper(strtr($ad,$tr)),$tr);

    $soyad=strtr(strtoupper(strtr($soyad,$tr)),$tr);



    #Sorgulama adresi

    $adres='http://tckimlik.nvi.gov.tr/Web/VerifyIdentityNumber.aspx';



    #User Agent bilgileri

    $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.8.1) Gecko/20061010 Firefox/2.0";



    #Curl oturumu ba?lat

    #__VIEWSTATE ve __EVENTVALIDATION hidden form de?erlerini almak i?in curl oturumu ba?lat?yoruz

    $ch=curl_init();



    #Siteye ba?lan

    curl_setopt($ch,CURLOPT_URL,$adres);



    #User Agent bilgilerini ekle

    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);



    #??kan veriyi de?i?kene aktar

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    $data=curl_exec($ch);



    #ba?lant?y? kes

    curl_close($ch);



    preg_match('@(id="__VIEWSTATE" value=")(.*)(" />)@',$data,$deger);

    $__viewstate=$deger[2];//__VIEWSTATE de?eri



    preg_match('@(id="__EVENTVALIDATION" value=")(.*)(" />)@',$data,$deger);

    $__eventvalidation=$deger[2];//__EVENTVALIDATION de?eri



    #Post verileri

    $post=array(

    'ctlIdentityNumber'=>$TcKimlikNo,

    '__VIEWSTATE'=>$__viewstate,

    'ctlVerify'=>1,

    '__EVENTVALIDATION'=>$__eventvalidation

    );



    #Curl oturumu ba?lat

    $ch=curl_init();



    #Siteye ba?lan

    curl_setopt($ch,CURLOPT_URL,$adres);



    #User Agent bilgilerini ekle

    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);



    #Post verisi

    curl_setopt($ch,CURLOPT_POST,1);

    curl_setopt($ch,CURLOPT_POSTFIELDS,$post);



    #??kan veriyi de?i?kene aktar

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    $data=curl_exec($ch);



    #ba?lant?y? kes

    curl_close($ch);



    #??imize yarayan k?sm? al

    preg_match_all('@(<TD class="BOLD">\s+)([\w&#;?\s]+)(</TD>)@is',$data,$deger);



    $tr=array(

    '?' => '?',

    '?' => '?',

    '?' => '?',

    '?' => '?',

    '?' => '?',

    '?' => '?');

    #De?i?kenlere aktar

    $ad2=strtr($deger[2][0],$tr);

    $soyad2=strtr($deger[2][1],$tr);

    $dogum2=$deger[2][2];

    //echo "$ad = $ad2   $soyad=$soyad2    $dogum = $dogum2";



    #De?erleri sorgula

    #Hata kontrolu sorun varsa false ver

    if(strstr($data,"ctlPageMessage_ctlError") || $ad != $ad2 || $soyad != $soyad2 || $dogum != $dogum2){

        return false;

    }

    #Sorun yoksa devam et

    else{

        return true;

    }

}



#?rnek Kullan?m

if(!TcKimlikNo(33244500000,'isim','soyisim',1980)){

    echo 'Girdi?iniz bilgiler hatal?';

}

else {

    echo 'Devam...';

}



?>
Konuyla İlgili Diğer Başlıklar
PHP: SEO Uyumlu Link Fonksiyonu
Sesli Arama Sistemi Fonksiyonu
PHP ile telefon & GSM numarası kontrol etme ve formatlama
Php Date Fonksiyonu ile geçerli Tarih ve Saati görüntülemek
Türkçe Tarih Fonksiyonu (YENİ)
Emlak, Oto Galeri, Rent A Car, ?iir, Edebiyat Script Sipari?lerinizi Verebilirsiniz.
Detaylar ??in: kaan@ntka.org

Seditio 170 ?ndir
Capte M?zik ?ndir
Seditio Toolbar ?ndir

 

Powered by Seditio © 2009-2012 All Rights Reserved