lostyazilim
tr.link

Php ile tc kimlik no doğrulama

11 Mesajlar 3.448 Okunma
acebozum
tr.link

esernet1 esernet1 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek programcı
  • Konum Denizli
  • Ad Soyad G** E**
  • Mesajlar 291
  • Beğeniler 23 / 33
  • Ticaret 6, (%100)
merhaba arkadaşlar tc kimlik doğrulama yaptım ama çalışmıyor sunucu ile ilgili bir problem olabilir mi ben herşeyi doğru yaptığıma inanıyorum alternatif yöntemler nelerdir
 

 

elektronikssl
webimgo

27207 27207 WM Aracı Anonim Üyelik
  • Üyelik 02.01.2014
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 1852
  • Beğeniler 346 / 707
  • Ticaret 5, (%100)
Nasıl yaptın hocam, nereden kontrol ediyorsun numaranın doğru olup olmadığını?
 

 

UNKEF UNKEF WM Aracı Kullanıcı
  • Üyelik 06.03.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek ARGE
  • Konum Balıkesir
  • Ad Soyad F** Ç**
  • Mesajlar 2422
  • Beğeniler 995 / 744
  • Ticaret 17, (%100)

PHPacemisi adlı üyeden alıntı

Nasıl yaptın hocam, nereden kontrol ediyorsun numaranın doğru olup olmadığını?


Ben de merak ettim hocam:)
 

 

delidiwane delidiwane WM Aracı Kullanıcı
  • Üyelik 17.05.2015
  • Yaş/Cinsiyet 44 / E
  • Meslek grafik tasarım
  • Konum İstanbul Anadolu
  • Ad Soyad F** A**
  • Mesajlar 40
  • Beğeniler 1 / 4
  • Ticaret 0, (%0)
https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?op=TCKimlikNoDogrula

Bu adresten soap ile kontrol edebilirsiniz.
Windows service kullanıyorlar (Neden haala WS kullanırlar anlamam. İşi neden zora sokarlar ki? Jsonla gitsin yau ne karater sorunu olur nede soap için apache eklentisi gerekir.).

Al sana PHP function (denemedim fakat yazım hatası yapmadıysam çalışması lazım)


function check_tc_no($tc_no,$firstname,$lastname,$birth_year){

$sender = '



'.$tc_no.'
'.$firstname.'
'.$lastname.'
'.$birth_year.'


';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx" );
curl_setopt($ch, CURLOPT_POST,true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true );
curl_setopt($ch, CURLOPT_POSTFIELDS,$sender);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
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($sender)
));

$incomming = curl_exec($ch);
curl_close($ch);
$incomming = strip_tags($incomming);
return $incomming;
}


Bu kodu php dosyanın içine yapıştır

Kullanımı:

//START örnek bilgiler
$tc_no = '123123123123';
$isim = 'AHMET';
$soyisim = 'DURSUN';
$dogum_yili = '1923';
// END örenk bilgiler bitti
$kimlik_no_dogrumu = check_tc_no($tc_no,$isim,$soyisim,$dogum_yili);

if($kimlik_no_dogrumu == true){
echo "Evet Kimlik no doğru";
}elseif($kimlik_no_dogrumu == false){
echo "Hayır kimlik no yanlış";
}else{
echo "Üzgünüm bir hata oluştu. Sistemden olumlu yada olumsuz cevap alamadım";

}
 

 

wmaraci
wmaraci

27207 27207 WM Aracı Anonim Üyelik
  • Üyelik 02.01.2014
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 1852
  • Beğeniler 346 / 707
  • Ticaret 5, (%100)

serras62 adlı üyeden alıntı

Ben de merak ettim hocam:)


Varmış ya. Böyle şeylerin halka açık olduğunu bilmiyordum.
 

 

UNKEF UNKEF WM Aracı Kullanıcı
  • Üyelik 06.03.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek ARGE
  • Konum Balıkesir
  • Ad Soyad F** Ç**
  • Mesajlar 2422
  • Beğeniler 995 / 744
  • Ticaret 17, (%100)

PHPacemisi adlı üyeden alıntı

Nasıl yaptın hocam, nereden kontrol ediyorsun numaranın doğru olup olmadığını?


PHPacemisi adlı üyeden alıntı

Varmış ya. Böyle şeylerin halka açık olduğunu bilmiyordum.


Kaynak ve yöntem nedir hocam ben de bilmiyorum.
 

 

27207 27207 WM Aracı Anonim Üyelik
  • Üyelik 02.01.2014
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 1852
  • Beğeniler 346 / 707
  • Ticaret 5, (%100)

serras62 adlı üyeden alıntı

Kaynak ve yöntem nedir hocam ben de bilmiyorum.


Üst mesajda yazmışya arkadaş ordan gördüm :)

[COLOR=#000000][COLOR=#FF8000]
[/COLOR][/COLOR]
 

 

UNKEF UNKEF WM Aracı Kullanıcı
  • Üyelik 06.03.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek ARGE
  • Konum Balıkesir
  • Ad Soyad F** Ç**
  • Mesajlar 2422
  • Beğeniler 995 / 744
  • Ticaret 17, (%100)
çalıştırabildiniz mi
 

 

esernet1 esernet1 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek programcı
  • Konum Denizli
  • Ad Soyad G** E**
  • Mesajlar 291
  • Beğeniler 23 / 33
  • Ticaret 6, (%100)
index.php asagıda





TC Kimlik Doğrulama
<script></script>
<script>
function sorgula(){
$('#sonuc').html('');
var tcTemiz = $('#sorguForm input[name="tcno"]').val().trim();
var adTemiz = $('#sorguForm input[name="ad"]').val().trim();
var soyadTemiz = $('#sorguForm input[name="soyad"]').val().trim();
var dtTemiz = $('#sorguForm input[name="dtarihi"]').val().trim();
if(!tcTemiz || tcTemiz.length != 11){
$('#sonuc').html('Geçersiz T.C. Kimlik Numarası!..');
}else if(!dtTemiz || dtTemiz.length != 4){
$('#sonuc').html('Geçersiz Doğum Tarihi!..');
}else if(!tcTemiz || !adTemiz || !soyadTemiz || !dtTemiz){
$('#sonuc').html('Boş Alan Bırakmayın!..');
}else{
$.ajax({
type: 'POST',
url: 'dogrula.php',
data: {'tc_no' : tcTemiz, 'ad' : adTemiz, 'soyad' : soyadTemiz, 'dogum_yili' : dtTemiz},
beforeSend : function(msg){
$('#sonuc').html('Yükleniyor...');
},
success: function(msg){
$('#sonuc').html(msg);
}
});
}
}
</script>

























T.C.
Ad
Soyad
Doğum Tarihi








dogrula.php asagıda



header("Content-type: text/html; charset=utf-8");
function turkce_duzelt($veri){
$bul = array('ç', 'ğ', 'ı', 'i', 'ö', 'ş', 'ü');
$deg = array('Ç', 'Ğ', 'I', 'İ', 'Ö', 'Ş', 'Ü');
return str_replace($bul, $deg, $veri);
}
if(isset($_POST) && isset($_POST['tc_no'])){
$ad = strtoupper(turkce_duzelt(trim($_POST['ad'])));
$soyad = strtoupper(turkce_duzelt(trim($_POST['soyad'])));
$dogum_yili = trim($_POST['dogum_yili']);
$tc_no = trim($_POST['tc_no']);
settype($tc_no, 'double');
if(!$ad || strlen($ad) <= 2 || !$soyad || strlen($soyad) <= 2 || !$dogum_yili || !$tc_no){
echo 'Boş Alan Bırakmayın!..';
}else if(strlen($tc_no) != 11){
echo 'T.C. Numaranız 11 Karakter Olmalıdır!..';
}else if(strlen($dogum_yili) != 4 || !is_numeric($dogum_yili)){
echo 'Geçersiz Doğum Yılı!..';
}else{
try{
$veriler = array('TCKimlikNo' => $tc_no, 'Ad' => $ad, 'Soyad' => $soyad, 'DogumYili' => $dogum_yili);
$baglan = new SoapClient('https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL');
$sonuc = $baglan->TCKimlikNoDogrula($veriler);
if($sonuc->TCKimlikNoDogrulaResult){
echo 'Tebrikler! Bilgiler Doğru!..';
}else{
echo 'Hata! Bilgiler Yanlış!..';
}
}catch(Exception $hata){
echo 'Hata! Geçersiz Bilgiler!..';
}
}
}else{
echo '

Erişim Engellendi!

';
}
?>




ayrıca buyuk harf olması gerekiyor calısmaz ve soap yüklü olması gerek

ayrıca bir alternatif daha vereceğim
 

 

BayiTurk BayiTurk Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Hizmetleri
  • Konum İstanbul Anadolu
  • Ad Soyad M** S**
  • Mesajlar 75
  • Beğeniler 4 / 12
  • Ticaret 4, (%100)
https://wmaraci.com/forum/php-hazir-kodlar/php-tc-kimlik-numarasi-kontrolu-yapmak-235757.html

Inceleyebilirsiniz.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al