İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

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.
 

ozanTi

0
İyinet Üyesi
Katılım
23 Mart 2010
Mesajlar
4,807
Reaction score
88
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 :)
 

Oğuz

2
İyinet Üyesi
Katılım
30 Mart 2010
Mesajlar
3,284
Reaction score
96
Konum
Kadıköy
Teşekkürler bayağı bir süre önce denemiştim.Demo olarak görmek isteyen arkadaşlar buradan bakabilirler.
 

ozanTi

0
İyinet Üyesi
Katılım
23 Mart 2010
Mesajlar
4,807
Reaction score
88
Konum
Angara'nın Bağları

isousluer

0
İyinet Üyesi
Katılım
14 Temmuz 2010
Mesajlar
386
Reaction score
12
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.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst