Reklam
Reklam

PHP ile TC Kimlik Numarası Kontrolü Yapmak

Merhaba arkadaşlar PHP ile girilen bir TC kimlik numarasının doğruluğunu kontrol eden bir PHP algoritması paylaşacağız. Nedir bur TC kimlik numarası kontrolü ve nasıl çalışır.

PHP ile TC Kimlik Numarası Kontrolü Yapmak
Reklam

Öncelikle şunu belirteyim TC kimlik numarasının kime ait olduğunu veya belirlenen kişiye mi ait vs gibi sonuçlar vermek sadece girilen TC kimlik numarasının doğru veya yanlış olduğunu söyler.

Biliyormusunuz bilmiyorum ama TC kimlik numaralı verilirken belirli bir mantığa ve algoritmaya göre veriliyor. İşle bu algoritmanın PHP ile yazılmış halini kullanarak girilen TC kimlik numarasının doğruluğunu kontrol edeceğiz.

 

TC Kimlik Numarası Üretme Mantığı

  • İlk hane 0 olamaz.
  • Örnek TC Numarası : 123456789XX
  • 1 – 3 – 5 – 7 – 9 haneleri toplayıp 7 ile çarpın. ( Sonuç :  25 x 7 = 175 )
  • 2 – 4 – 6 – 8  hanelerini toplayın. ( Sonuç :  20 )
  • İlk işlemin sonucundan ikinci işlemin sonucunu çıkartalım ( Sonuç :  155 )
  • Çıkarma işlemi sonucu elde ettiğimiz değerin 10’a modunu alalım. ( 10’a bölümünden Kalan )  ( Sonuç : 5 )
  • Bulmuş olduğumuz değer bizim onuncu ( 10. ) hanedeki değerimiz. ( Sonuç : 1234567895X)
  • Geriye 11 Hanedeki değeri bulmak kalıyor
  • Elimizde bulunan tüm hanelerin değerini toplayayım ( 1 + 2 + 3 …. +9 + 5 ) ( Sonuç : 50 )
  • Yine elde ettmiş olduğumuz sonun 10’a modunu alıyoruz ( Sonuç : 0 )
  • Buda 11. Hanede’ki değerimiz
  • Yani TC kimlik numaramız : 12345678950
<?php
	function _TCSORGULA($_TCKIMLIK){
		$_OLMAZ=array('11111111110','22222222220','33333333330','44444444440','55555555550','66666666660','7777777770','88888888880','99999999990');
	if($_TCKIMLIK[0]==0 or !ctype_digit($_TCKIMLIK) or strlen($_TCKIMLIK)!=11){
		return false;  
	}else{
		for($a=0;$a<9;$a=$a+2){
			$_ILKT=$_ILKT+$_TCKIMLIK[$a]; 
		}
		for($a=1;$a<9;$a=$a+2){
			$_SONT=$_SONT+$_TCKIMLIK[$a]; 
		}
		for($a=0;$a<10;$a=$a+1){
			$_TUMT=$_TUMT+$_TCKIMLIK[$a]; 
		}
	if(($_ILKT*7-$_SONT)%10!=$_TCKIMLIK[9] or $_TUMT%10!=$_TCKIMLIK[10]){
		return false; 
	}else{
		foreach($_OLMAZ as $_OLURMU){
			if($_TCKIMLIK==$_OLURMU){
				return false; 
			} 
		}
			return true;
			}
		}
	}
	
 if(_TCSORGULA('12345678950')){
	 echo 'Tc Kimlik Numarası doğru!'; } else { echo 'Lütfen geçerli bir Tc Kimlik Numarası giriniz...'; }
 
 
?>
Reklam
ZİYARETÇİ YORUMLARI

Henüz yorum yapılmamış. İlk yorumu aşağıdaki form aracılığıyla siz yapabilirsiniz.

BİR YORUM YAZ