T.C. Kimlik Numarası Doğrulama

  • Konbuyu başlatan Erturk
  • Başlangıç tarihi
E
Erturk
Misafir
PHP ile TC Kimlik Numarası Doğrulama

Merhaba arkadaşlar.

İhtiyaç üzerine yazdığım PHP ile TC Kimlik Numarası Doğrulama kodlarını sizlerle paylaşmak istedim. Belki işinize yarayabilir.

PHP:
<?php

if($_POST) {
$tc = addslashes(htmlspecialchars(strip_tags($_POST['tc'])));
$t1 = substr($tc,0,1); $t2 = substr($tc,1,1);
$t3 = substr($tc,2,1); $t4 = substr($tc,3,1);
$t5 = substr($tc,4,1); $t6 = substr($tc,5,1);
$t7 = substr($tc,6,1); $t8 = substr($tc,7,1);
$t9 = substr($tc,8,1); $t10 = substr($tc,9,1);
$t11 = substr($tc,10,1);
$say = strlen($tc);
if (empty($tc)) {
echo "Lütfen TC kimlik numaranızı giriniz!"."<br/>";
} else if ($t1 == 0) {
echo "TC Kimlik Numaranızın İlk rakamı 0 olamaz!"."<br/>";
} else if ($say != 11) {
echo "TC Kimlik numarası 11 haneden oluşmaktadır"."<br/>";
} else {
$ilk = (($t1+$t3+$t5+$t7+$t9)*7-($t2+$t4+$t6+$t8))%10;
$son = ($t1+$t2+$t3+$t4+$t5+$t6+$t7+$t8+$t9+$t10)%10;
if ($ilk == $t10 && $son == $t11) {
echo "TC Kimlik Numaranız Doğru";
} else {
echo "Girdiğiniz TC Kimlik Numarası Yanlış.";
}
}
} 
echo '
<form action="" method="post"> 
<input name="tc" type="text"/>
<input name="gonder" type="submit" value="Sorgula"/> 
</form>';

?>

Tabi kendi sitemde formları bu sekilde kullanmıyorum :) Dilediğiniz gibi değişebilirsiniz.

İyi çalışmalar.
 
0
Onaylı Üye
Üye
Katılım
21 Kasım 2010
Mesajlar
865
Tepki puanı
27
Konum
Malatya
Teşekkürler
 
0
Onaylı Üye
Üye
Katılım
22 Mart 2010
Mesajlar
4,806
Tepki puanı
85
Konum
Angara'nın Bağları
Daha önce kodamanda bunu tartışmışlardı. Aslında sadece algoritmayla doğrulamaya karşıyım ben. Eğer insanlarda TC kimlik numarası alınmak bir zaruretse devletin tckimlik.nvi.gov.tr adresinin kullanılmasından yanayım. Bu arada uğraşmış yazmışsınız, ellerinize sağlık. İhtiyacı olanlar kullanabilirler :)
 
E
Erturk
Misafir
nvi.gov.tr API için sanırım ücret istiyor. Ayrıca TC kimlik numarasının algoritması sabit olduğu için nvi'ye baglatmaya bile gerek yok bence. Nihayetinde yazılan kimlik numarasını bir nvi.gov.tr veritabanında sorgulatmak var birde bu algoritma ile 1 saniyede cevap vermek :)
 
2
Onaylı Üye
Üye
Katılım
30 Mart 2010
Mesajlar
3,281
Tepki puanı
96
Konum
Kadıköy
Teşekkürler bayağı bir süre önce denemiştim.Demo olarak görmek isteyen arkadaşlar buradan bakabilirler.
 
0
Onaylı Üye
Üye
Katılım
22 Mart 2010
Mesajlar
4,806
Tepki puanı
85
Konum
Angara'nın Bağları
0
Onaylı Üye
Üye
Katılım
13 Temmuz 2010
Mesajlar
386
Tepki puanı
10
Konum
Konya
API ücretli mi bilmiyorum ama algoritmaya uyan ama tckimlik olmayan sayıları veren bir program yazmıştım. Şimdi nereye koyduğumu bulamadım. Bu nedenle güvensiz bir algoritma bu.
http://www.kodaman.org/yazi/t-c-kimlik-no-algoritmasi
http://www.kodaman.org/yazi/t-c-kimlik-no-akraba
ve buna benzer 3-4 sayfayı daha hatmederken farkettim. Aradan kaçanlar olduğunu. Kullanmak isteyen kullansın ama ben API destekçisiyim :)

İyiymiş bunlar vallar. Ayrıca nvi.gov.tr bir xml veriyordu sanırım. Onu dosyamıza gömerek doğrulama yaptırabiliyorduk yanlış hatırlamıyorsam.
 
Geri
Üst