Tckimlik sorgulama

<?php

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’;

}
?>

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.