PHP Dersleri

PHP ile TC Kimlik No Doğrulama

Bu dersimizde TC kimlik numarasını yazan bir kullanıcının, bilgilerini doğru bir şekilde girip girmediğini kontrol edeceğiz. Bu işlemi tckimlik.nvi.gov.tr sitesi üzerinden gerçekleştirmiş olacağız. TC kimlik numarası doğrulaması için; isim, soyisim, doğrum yılı ve tc kimlik numarası bilgisini isteyeceğiz. cURL ile gerçekleştireceğimiz bağantıda bilgilerin doğru olup olmadığını teyit etmiş olacağız.

function TC_kontrol($bilgiler){
	$gonder = '<?xml version="1.0" encoding="utf-8"?>
	<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
	<TCKimlikNoDogrula xmlns="http://tckimlik.nvi.gov.tr/WS">
	<TCKimlikNo>'.$bilgiler["tcno"].'</TCKimlikNo>
	<Ad>'.$bilgiler["isim"].'</Ad>
	<Soyad>'.$bilgiler["soyisim"].'</Soyad>
	<DogumYili>'.$bilgiler["dogumyili"].'</DogumYili>
	</TCKimlikNoDogrula>
	</soap:Body>
	</soap:Envelope>';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL,"https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx" );
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt($ch, CURLOPT_POST, true );
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_HEADER, FALSE);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $gonder);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	'POST /Service/KPSPublic.asmx HTTP/1.1',
	'Host: tckimlik.nvi.gov.tr',
	'Content-Type: text/xml; charset=utf-8',
	'SOAPAction: "http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula"',
	'Content-Length: '.strlen($gonder)
	));
	$gelen = curl_exec($ch);
	curl_close($ch);
	return strip_tags($gelen);
}

İlk olarak yukarıda yer alan TC_kontrol() fonksiyonunu oluşturuyoruz. Bu fonksiyon ile kullanıcıdan alınan bilgiler doğrultusunda kontrolün yapılmasıı sağlayacağız. Fonksiyon sonrasında bir form alanı oluşturarak kullanıcıdan bilgileri alalım.

<form method="post">
<table>
	<tr><td>İsim</td><td>:</td><td><input type="text" name="ad"/></td></tr>
	<tr><td>Soyisim</td><td>:</td><td><input type="text" name="soyad"/></td></tr>
	<tr><td>Doğum Yılı</td><td>:</td><td><input type="text" name="dogum"/></td></tr>
	<tr><td>TC Kimlik NO</td><td>:</td><td><input type="text" name="tc"/></td></tr>
</table>
<input type="submit" value="GÖNDER" />
</form>

Yukarıda basit bir form yer almaktadır. Bu formda isim, soyisim, doğum yılı ve tc bilgisi istenmektedir. Bu bilgilerle doğrulama işlemi yapılacaktır. Formda yer alan bilgilerin hepsi büyük harfle ve türkçe harflerle yazılmalıdır.

Form üzerinden gelen bilgiler ile de kontrolü sağlayıp kullanıcıya dönüş yapalım.

if( $_POST ){
	## Formdaki bilgileri alıyoruz.
	$ad 		= $_POST["ad"];
	$soyad 	= $_POST["soyad"];
	$dogum	= $_POST["dogum"];
	$tc 		= $_POST["tc"];
	## Dizi olarak düzenliyoruz.
	$bilgiler = array(
		"isim"  => $ad,
		"soyisim"  => $soyad,
		"dogumyili" => $dogum,
		"tcno"      => $tc
	);
	## kontrol fonksiyonuna yolluyoruz.
	$sonuc = tcno_dogrula($bilgiler);
	## kontrol sonucunu yazdırıyoruz.
	if($sonuc=="true"){
		echo "Bilgiler Doğru";
	}else{
		echo "Bilgiler Yanlış";
	}
}

Yukarıda yer alan bilgilerle birlikte hazırladığımız fonksiyonu kullanarak TC Kimlik numarasını doğrulayabilirsiniz.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir