• 01-01-2019, 22:59:16
    #1
    Merhaba arkadaşlar soap api kullanarak üye olan kişinin bilgilerini doğrulayıp eğer girdiği bilgiler e devlet sisteminde doğruysa veri tabanına üye olsun şeklinde ufak bir uygulama yazdım bunuda siz değerli R10 üyeleriyle paylaşıyorum umarım bir çoğunuza üstadlara kolay bir işlem olarak gelecektir faat amaç genç yeni başlayan arkadaşlara yardım amacıyla paylaşıyorum.


    https://www.youtube.com/watch?v=iId8Oe7o7Ts


    5 KİŞİYE 1 YILLIK ÜCRETSİZ LİNUX HOSTİNG ÇEKİLİŞİ
    Katılımlarınızı beklerim.



    https://www.youtube.com/watch?v=cxwa06jOwKg
  • 01-01-2019, 23:10:57
    #2
    Doğum Tarihi değilde Doğum Yılı olursa daha mantıklı olabilir Elinize sağlık bu arada.
  • 01-01-2019, 23:30:43
    #3
    Üyeliği durduruldu
    Merhaba,
    Başlığınız hatalı olarak gördüm çünkü yapılan işlem E-DEVLET üzerinden yapılmamaktadır, yapmış olduğunuz işlem nvi.gov.tr adresinin vermiş olduğu SOAP servisi ile yapılmıştır.

    Kodun kısa hali
    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"      => "SAVAŞ CAN", "soyisim"   => "ALTUN", "dogumyili" => "xxxx", "tcno"      => "xxxxx" ); 
    $sonuc = tcno_dogrula($bilgiler); 
    if($sonuc=="true"){ 
      echo "Doğrulama başarılı"; 
    }else{ 
      echo "Doğrulama başarısız"; 
    }
    iyi çalışmalar.
  • 01-01-2019, 23:37:11
    #4
    Karenet adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Başlığınız hatalı olarak gördüm çünkü yapılan işlem E-DEVLET üzerinden yapılmamaktadır, yapmış olduğunuz işlem nvi.gov.tr adresinin vermiş olduğu SOAP servisi ile yapılmıştır.

    Kodun kısa hali
    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"      => "SAVAŞ CAN", "soyisim"   => "ALTUN", "dogumyili" => "xxxx", "tcno"      => "xxxxx" );
    $sonuc = tcno_dogrula($bilgiler);
    if($sonuc=="true"){
      echo "Doğrulama başarılı";
    }else{
      echo "Doğrulama başarısız";
    }
    iyi çalışmalar.

    Merhabalar https://www.nvi.gov.tr/ devlet sitesidir. E devlet elektronik devlet sistemidir. teşekkürler ilginiz için.
  • 01-01-2019, 23:41:43
    #5
    Üyeliği durduruldu
    VuralBilgisayar adlı üyeden alıntı: mesajı görüntüle
    Merhabalar https://www.nvi.gov.tr/ devlet sitesidir. E devlet elektronik devlet sistemidir. teşekkürler ilginiz için.
    Merhaba,
    Sonuç olarak devlet sistemlerine bağlı bir yapıdır, doğru bunu herkes bilir ama demiş olduğunuz başlık " e-devlet soap ile tc doğrulama" diye belirtmişsiniz yapmış olduğunuz işlem sadece php üzerinden nvi.gov.tr sitesi üzerinden kimlik bilgileri doğrulamadır, e-devlet aracılığı ile yapılan işlem daha farklıdır. örnek vermek gerekirde, https://vatandas.uyap.gov.tr/main/vatandas/giris.jsp bu adres'ten giriş yaptığınız vakit e-devlet platformu aracılığı ile işlem sağlamaktadır.