Bu içeriği 3 dakikada okuyabilirsiniz.
PHP ile TC Kimlik Numarası, Ad, Soyad, Doğum Tarihi Doğrulama
İnternet üzerinde birçok sitede, javascript, php veya başka bir programlama dili ile TC kimlik no doğrulama kodları paylaşılmış. Bu doğrulama TC kimlik numarası algoritması kullanılarak yapılıyor. TC kimlik numarası algoritmasında bazı kurallar mevcut. Bu kuralları herhangi bir programlama diliyle tanımlayıp, tc kimlik no doğrulaması yapılabiliyor. Fakat bu doğrulama yalnızca, girilen sayının bir tc kimlik numarası olup olmadığını bulmaya yarıyor. Yani TC kimlik numarasının kime ait olduğu hakkında bir bilgi vermiyor.
Bu doğrulama birçok kişinin işine yarayacak olsa da, daha kapsamlı bir şekilde kişinin isim, soyisim, doğum tarihi ve tc kimlik numarasını doğrulama gibi isteklerini yerine getirmiyor. Bunun için devletin tamamen yasal bir şekilde, kullanıcıların kullanması için sunduğu tc kimlik no, isim, soyisim, doğum tarihi doğrulama hizmetini kullanmak gerekiyor.
Aşağıdaki kodlarda her şey hazır ve kullanılabilir durumdadır. Kodları kopyalayabilir veya kodların hemen altında bulunan indirme linkinden hazır dosyayı indirebilirsiniz. Ayrıca kod bloğunun altında bulunan önizlemeden TC kimlik numarası doğrulamasını deneyebilirsiniz.
Kodlar
<meta charset="utf-8">
<form method="post"><table>
<tr><td>İsim</td><td>:</td><td><input type="text" name="ad"/></td></tr>
<tr><td>Soyisim</td><td>:</td><td><input type="text" name="soyad"/></td></tr>
<tr><td>Doğum Yılı</td><td>:</td><td><input type="text" name="dogum"/></td></tr>
<tr><td>TC Kimlik NO</td><td>:</td><td><input type="text" name="tc"/></td></tr></table>
<input type="submit" value="GÖNDER" />
</form>
<?php
if(isset($_POST['ad']) && isset($_POST['soyad']) && isset($_POST['dogum']) && isset($_POST['tc'])) {
if(empty($_POST['ad']) || empty($_POST['soyad']) || empty($_POST['dogum']) || empty($_POST['tc'])) {
echo '<script>alert("Lütfen boş yer bırakmayın.");</script><p style="text-align:center;color:#fff;">Lütfen boş yer bırakmayın.</p>';
}
$ad = $_POST["ad"];
$soyad = $_POST["soyad"];
$dogum = $_POST["dogum"];
$tc = $_POST["tc"];
function tcno_dogrula($bilgiler){
$gonder = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TCKimlikNoDogrula xmlns="http://tckimlik.nvi.gov.tr/WS">
<TCKimlikNo>'.$bilgiler["tcno"].'</TCKimlikNo>
<Ad>'.$bilgiler["isim"].'</Ad>
<Soyad>'.$bilgiler["soyisim"].'</Soyad>
<DogumYili>'.$bilgiler["dogumyili"].'</DogumYili>
</TCKimlikNoDogrula>
</soap:Body>
</soap:Envelope>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $gonder);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'POST /Service/KPSPublic.asmx HTTP/1.1',
'Host: tckimlik.nvi.gov.tr',
'Content-Type: text/xml; charset=utf-8',
'SOAPAction: "http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula"',
'Content-Length: '.strlen($gonder)
));
$gelen = curl_exec($ch);
curl_close($ch);
return strip_tags($gelen);
}
$bilgiler = array(
"isim" => $ad,
"soyisim" => $soyad,
"dogumyili" => $dogum,
"tcno" => $tc
);
$sonuc = tcno_dogrula($bilgiler);
if($sonuc=="true"){
echo "Girilen bilgiler doğru !";
}else{
echo "Girilen bilgilerden herhangi biri yanlış !";
} } ?>
<form method="post"><table>
<tr><td>İsim</td><td>:</td><td><input type="text" name="ad"/></td></tr>
<tr><td>Soyisim</td><td>:</td><td><input type="text" name="soyad"/></td></tr>
<tr><td>Doğum Yılı</td><td>:</td><td><input type="text" name="dogum"/></td></tr>
<tr><td>TC Kimlik NO</td><td>:</td><td><input type="text" name="tc"/></td></tr></table>
<input type="submit" value="GÖNDER" />
</form>
<?php
if(isset($_POST['ad']) && isset($_POST['soyad']) && isset($_POST['dogum']) && isset($_POST['tc'])) {
if(empty($_POST['ad']) || empty($_POST['soyad']) || empty($_POST['dogum']) || empty($_POST['tc'])) {
echo '<script>alert("Lütfen boş yer bırakmayın.");</script><p style="text-align:center;color:#fff;">Lütfen boş yer bırakmayın.</p>';
}
$ad = $_POST["ad"];
$soyad = $_POST["soyad"];
$dogum = $_POST["dogum"];
$tc = $_POST["tc"];
function tcno_dogrula($bilgiler){
$gonder = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TCKimlikNoDogrula xmlns="http://tckimlik.nvi.gov.tr/WS">
<TCKimlikNo>'.$bilgiler["tcno"].'</TCKimlikNo>
<Ad>'.$bilgiler["isim"].'</Ad>
<Soyad>'.$bilgiler["soyisim"].'</Soyad>
<DogumYili>'.$bilgiler["dogumyili"].'</DogumYili>
</TCKimlikNoDogrula>
</soap:Body>
</soap:Envelope>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_POST, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $gonder);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'POST /Service/KPSPublic.asmx HTTP/1.1',
'Host: tckimlik.nvi.gov.tr',
'Content-Type: text/xml; charset=utf-8',
'SOAPAction: "http://tckimlik.nvi.gov.tr/WS/TCKimlikNoDogrula"',
'Content-Length: '.strlen($gonder)
));
$gelen = curl_exec($ch);
curl_close($ch);
return strip_tags($gelen);
}
$bilgiler = array(
"isim" => $ad,
"soyisim" => $soyad,
"dogumyili" => $dogum,
"tcno" => $tc
);
$sonuc = tcno_dogrula($bilgiler);
if($sonuc=="true"){
echo "Girilen bilgiler doğru !";
}else{
echo "Girilen bilgilerden herhangi biri yanlış !";
} } ?>
Aşağıdaki linke tıklayıp, kodları dosya halinde indirebilirsiniz.
PHP ile TC Kimlik Numarası, Ad, Soyad, Doğum Tarihi Doğrulama Dosyası | İNDİR
Önizleme için tıklayın.
Bu içeriği MasivaTurk.com sitesini kaynak göstererek kullanabilirsiniz. İçeriklerin; MasivaTurk.com sitesi kaynak gösterilmeden herhangi bir web sayfasında, sosyal
medyada ve görsel basında yayınlanması yasaktır. Ayrıntılı bilgi için Kullanım Koşulları sayfasını okuyabilirsiniz.
09.07.2016
Doğum tarihini öğrenmek istiyorum
https://github.com/muratkaragoz/php_tc_kimlik_no_dogrulama
İsimde i harfleri var büyük i harfi kabuk etmiyor mu
Uzun zamandır böyle bir şey arıyordum. Açıkçası burada buldum, çok teşekkürler. Siteme entegre edeceğim.
bu kodlar işime yararyacaktır teşekkürler admin
Harika bir kodlama, çok başarılı. Sitelerimize üye olan insanların gerçek kişiler olmasını sağlamak adına alınabilecek bir önlem.
Oldukça güzel bir uygulama. Forum siteme tc kimlik ile üye alıyordum. Bu işime yarayacak.
Hello, always i used to check blog posts here in the early hours in the daylight, aeakkeaccbde
Im grateful for the blog article.Much thanks again. Cool. keeedbdcedae
Teknolojinin gelişmesi ile bu tür uygulamalar ile daha verimli işler ortaya çıkıyor. Php ile tc kimlik numarasını doğrulama kodu işlemi oldukça iyi.
Çok güzel paylaşım olmuş sağ olun, sayenizde güzel bilgiler ediniyoruz.
Ad soyad olmayınca tam olarak kime ait olduğu gene belli olmayacak sadece böyle bir kimlik mevcuttur şeklinde anladım yanlış anlamadıysam.