

Türkiye Cumhuriyeti Kimlik Numarası (TC Kimlik No), ülkemizde bireylerin kimliğini doğrulamak için kullanılan 11 haneli benzersiz bir sayısal koddur. Web uygulamaları geliştirenler için, bu numaranın doğruluğunu kontrol etmek güvenlik ve veri bütünlüğü açısından oldukça kritik bir adımdır. Bu yazıda, PHP kullanarak TC Kimlik Numarası doğrulama fonksiyonu nasıl oluşturulur ve bu işlevin uygulanmasında dikkat edilmesi gereken noktalar nelerdir, bunları ele alacağız.
- Uzunluk Kontrolü: TC Kimlik Numarası’nın uzunluğunun 11 karakter olup olmadığı kontrol ediliyor. Eğer 11 karakter değilse,
falsedöndürülüyor. - Sayısal Olma Kontrolü: TC Kimlik Numarası’nın sadece rakamlardan oluşup oluşmadığı kontrol ediliyor. Eğer içinde rakam dışı karakter varsa,
falsedöndürülüyor. - İlk Karakterin Sıfır Olmama Kontrolü: TC Kimlik Numarası’nın ilk karakterinin sıfır (
0) olup olmadığı kontrol ediliyor. Eğer ilk karakter sıfırsa,falsedöndürülüyor. - 10. Hanenin Doğruluğu: 1., 3., 5., 7. ve 9. hanelerin toplamı 7 ile çarpılır ve 2., 4., 6. ve 8. hanelerin toplamı çıkarılır. Bu işlem sonucu elde edilen değerin 10 ile bölümünden kalan, TC Kimlik Numarası’nın 10. hanesi ile aynı mı diye kontrol edilir. Eğer aynı değilse,
falsedöndürülüyor. - 11. Hanenin Doğruluğu: 1., 2., 3., 4., 5., 6., 7., 8., 9. ve 10. hanelerin toplamının 10’a bölümünden kalan, TC Kimlik Numarası’nın 11. hanesi ile aynı mı diye kontrol edilir. Eğer aynı değilse,
falsedöndürülüyor. - Doğru TC Kimlik Numarası: Tüm kontrollerden geçilirse, numara doğru kabul edilip
truedöndürülüyor.
function isValidTCKN($tckn) {
if (strlen($tckn) != 11) {
return false;
}
if (!ctype_digit($tckn)) {
return false;
}
if ($tckn[0] == '0') {
return false;
}
$totalOdd = $tckn[0] + $tckn[2] + $tckn[4] + $tckn[6] + $tckn[8];
$totalEven = $tckn[1] + $tckn[3] + $tckn[5] + $tckn[7];
$checkSum10 = (($totalOdd * 7) - $totalEven) % 10;
if ($checkSum10 != $tckn[9]) {
return false;
}
$totalAll = $totalOdd + $totalEven + $tckn[9];
$checkSum11 = $totalAll % 10;
if ($checkSum11 != $tckn[10]) {
return false;
}
return true;
}
Bunları da beğenebilirsiniz

PHP ile IMAP Kullanarak Mail Okuma: Adım Adım Rehber
IMAP (Internet Message Access Protocol), e-posta mesajlarını bir sunucudan almanızı sağlayan bir protokoldür. PHP’de IMAP kullanarak, bir e-posta sunucusundan gelen mesajları okuyabilir ve bunları uygulamanızda…

PHP ile Verileri Şifreleme (Kriptografi) ve Şifre Çözme Fonksiyonları
Projelerimizde çoğu zaman şifrelemeler oluşturuyoruz. Bu şifrelemelerin çoğunu tek taraflı yapsak da bazı zamanlarda geri açılabilir şifreler kullanmamız gerekebiliyor. Aşağıdaki kod bloğunda php ile şifreleme…

PHP ile İletişim Formlarındaki Spam Mesajları Engelleme
Merhabalar, bu içeriğimizde sayfalarımızda oldukça sık kullandığımız iletişim formlarına botlar tarafından bırakılan spam mesajları engellemenin bir kaç yönteminden bahsedeceğim. Bahsettiğim yöntemler %100 garantili olmamakla birlikte…