Anasayfa / PHP / PHP tc kimlik no doğrulama

PHP tc kimlik no doğrulama

E-ticaret sitelerinin bayağı bir yayılmasıyla beraber artık web siteleri üyelerinin TCKN bilgilerini tutuyor ve buda programcılara ekstra bir kontrol getiriyor bu yazıda girilen bir TCKN bilgisinin kurallara uygun olup olmadığını kontrol eden bir php fonksiyon anlatılmaktadır.

 

 

T.C. Kimlik Numarasında Bulunması Gereken Özellikler

  • T.C. kimlik numaraları 11 hanedir ve tamamı rakamsal değerlerden oluşur.
  • T.C. kimlik numarasının ilk hanesi sıfır(0) olamaz.
  • 1. 3. 5. 7. ve 9. hanelerin toplamının 7 ile çarpımından 2. 4. 6. ve 8. haneler çıkartıldığında geriye kalan sayının 10′a göre modu bize 10. haneyi verir.
  • 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. hanelerin toplamının 10′a göre modu bize 11. haneyi verir.
tc kimlik no kontrol php
tc kimlik no kontrol php

Kod aşağıda verilmiştir gereken açıklamalar kodun içinde yazmaktadır çalışan haline buradan bakabilirsiniz.


PHP Kimlik Doğrulama
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<!--?php <br ?-->/**
 * Tc Kimlik No Doğrulama
 * https://www.umutsinav.com
 * @umutsinav
 * @package php_dersleri
 */

    $tckn = ($_POST['tckn']);
    if($_POST)
    {
        if(tckn_dogrulama($tckn)) $uyari = 'Kurallara uygundur'; else $uyari = 'Kurallara uygun değildir';
    }

    function tckn_dogrulama($tckn)
    {
        $TekToplam = 0;
        $CiftToplam= 0;
        if($tckn[0]==0)        return false; // ilk rakam 0 olamaz
        if(strlen($tckn)!=11) return false; //11 karakter olmalı
        for($i=0; $i<10; $i++)         {             if($i%2==0) $TekToplam+= $tckn[$i]; else $CiftToplam+= $tckn[$i] ;         }         if(($TekToplam+$CiftToplam)%10!=$tckn[10]) return false; //ilk 10 rakamın mod 10'u son rakama eşit olup olmadığı kontrol ediyoruz         if((($TekToplam*7)-($CiftToplam-$tckn[9]))%10!=$tckn[9]) return false; // 1,3,5,7,9 rakamlarının toplamının 7 ile çarpımından 2,4,6,8 rakamlarının toplamını çıkartıp kalan sayının mod 10'nu alıp kimlik numarasının 10. karakterine eşit olup olmadığını kontrol ediyoruz.         return true;     } ?></pre>
<h1>TCKN Kontrolü</h1>
<form method="post" name="tckn">
<table style="width: 450px; border: yellow 1px ridge;" border="0">
<tbody>
<tr style="background: black; color: white;">
<td>Tckn No</td>
<td><input type="text" maxlength="11" name="tckn" /></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
</tbody>
</table>
</form>
<pre>

Önerilen

Php Logo

PHP Dizi Kullanımı

Dizi derken kuzey-güney, kurtlar vadisi felan bahsetmiyoruz burada yanlışlıkla bu sayfaya geldiyseniz hemen çıkınız 🙂 ...

2 yorumlar

  1. kontrol iyi ama..
    http://bilgiedinme.meb.gov.tr/Internet/onbasvuru.aspx?kurum=meb
    burada ki gibi TC yi yaz. kime ait olduğunu söylesin.
    böyle bi şey yapaydın iyi olurdu 😀
    servis kodlarını
    https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL
    adresinden alabilirsin.
    asp.net biliyorsan yapabilirsin :)))
    bu arada emeğine sağlık..

    • Hacı sana özel birşeyler yaptım sen tekrar sorguladığın zaman senin hakkında bilgiler verecek sistem… 🙂

dilsaz için bir cevap yazın Cevabı iptal et

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

Yandex.Metrica