Wordpress

PHP ile TC Kimlik Numarası Kontrolü Yapmak

Ö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 olduğunu söyler.

Biliyormusunuz bilmiyorum ama TC kimlik numaralı verilirken belirli bir mantığa algoritmaya göre veriliyor. İşle bu algoritmanın 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]<?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…’; }

?>[/php]

Etiketler
Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

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

Başa dön tuşu
Kapalı
Kapalı