
<?php // TC Kimlik Numarasını doğrulayan bir işlev tanımlıyoruz function tcKimlikDogrula($tcKimlikNo) { // TC Kimlik Numarası 11 haneli ve sıfır ile başlamıyorsa if (strlen($tcKimlikNo) == 11 && substr($tcKimlikNo, 0, 1) != 0) { // Tüm rakamların toplamını hesaplayacak değişkenler oluşturuyoruz $tekToplam = $tcKimlikNo[0] + $tcKimlikNo[2] + $tcKimlikNo[4] + $tcKimlikNo[6] + $tcKimlikNo[8]; $ciftToplam = $tcKimlikNo[1] + $tcKimlikNo[3] + $tcKimlikNo[5] + $tcKimlikNo[7]; // Son rakamın tek olması gerekiyor $tekKontrol = ($tekToplam * 7 - $ciftToplam) % 10 == $tcKimlikNo[9]; // İlk 10 rakamın toplamının mod 10'u, son rakamla aynı olmalı $modKontrol = array_sum(str_split(substr($tcKimlikNo, 0, 10))) % 10 == $tcKimlikNo[10]; // Hem tekKontrol hem de modKontrol true ise TC Kimlik Numarası doğrudur if ($tekKontrol && $modKontrol) { return true; } else { return false; } } else { // TC Kimlik Numarası formatı yanlışsa doğrulama başarısız olur return false; } } // Kullanıcı formdan TC Kimlik Numarasını girdiğinde bu kod çalışır if ($_SERVER["REQUEST_METHOD"] == "POST") { $tcKimlikNo = $_POST['tcKimlikNo']; // TC Kimlik Numarasını doğrula if (tcKimlikDogrula($tcKimlikNo)) { echo "TC Kimlik Numarası doğru."; } else { echo "TC Kimlik Numarası hatalı."; } } ?> <!-- Kullanıcıdan TC Kimlik Numarasını girmesini isteyen form --> <form action="" method="post"> TC Kimlik No: <input type="text" name="tcKimlikNo"><br> <input type="submit" value="Doğrula"> </form>
Açıklama :
Bu örnekte, tcKimlikDogrula adında bir fonksiyon tanımlıyoruz. Bu fonksiyon, girilen TC Kimlik Numarasını kontrol ederek geçerli olup olmadığını kontrol eder. Doğrulama işlemleri için TC Kimlik Numarasının belirli bir algoritmayı takip etmesi gerekmektedir. Bu algoritma, TC Kimlik Numarasının son hanesini belirli bir formülle hesaplayarak doğruluğunu kontrol eder. Bu fonksiyon, girilen TC Kimlik Numarasını bu algoritmaya göre kontrol eder ve sonucu döndürür.
Form, kullanıcıdan TC Kimlik Numarasını girmesini ister. Form gönderildiğinde, girilen TC Kimlik Numarası tcKimlikDogrula fonksiyonuna geçirilir ve sonuç kullanıcıya gösterilir.