Anasayfa > Hazır Kodlar > PHP > PHP+SOAP kullanılarak TC Kimlik No Doğrulatma(web servisleri)
Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar

PHP+SOAP kullanılarak TC Kimlik No Doğrulatma(web servisleri)




Arkadaşlar merhaba
PHP+SAOP uygulamalarını kullanabilmek için apache web serverda bazı değişiklikler yapmamız gerekmektedir.php.ini dosyası içinde extension="php_soap.dll" yazısının olup olmadığını kontrol edin.eğer başında ";" varsa onu silin.eğer yoksa siz yazın.ve apache yi restart edin.böylece aşağıdaki kodları browserinizde açabilirsiniz.Ben herkes anlayabilsin diye baya bir yardım açıklaması yaptım.PHP+SOAP konusuna yeni başlayan arkadaşara çok yardımcı olacak diye düşünüyorum.Sayfanın  çoğu yardım açıklamalarından oluşuyor.Direk dreamweaver 'a kopyala yapıştır yapın..
Bu yardım açıklamaları eminim sizin anlamanızda etkili olucaktır.bu kodları ben yaptım denemiştir ve çalışyo arkadaşalar.Size kolay gelsin



<?php
/*
** Copyright (c) 2006 Kadir GÜLAĞIZ

** Bu sayfa PHP+Soap uygulamasıdır.Bu sayfada http://tckimlik.nvi.gov.tr(Nufus Müdürlüğü) adresinin web servisi
** kullanılarak TC kimlik Doğrulaması yapılmaktadır.Bunun için nüfus müdürlüğünün web servis hizmeti kullanılmıştır.

** Bu sayfadaki bilgiler tamamen serbest dolaşabilir.İstenildiği gibi değiştirilebilir.
** İstenildiği gibi yayınlanabilir.Bu tamamiyle size kalmış.

** Bu sayfa PHP+Soap kullanımını öğrenmek isteyenlere başlangıç kaynağı olarak kullanılabilir.Kodlar içinde
** hiçbir hazır kütüphane kullanılmamıştır.

** Bu sayfayla ilgili tüm önerilerinizi ve eleştirilerinizi
** kadir_glz@yahoo.com adresine bekliyorum.

** Sakarya Üniversitesi Bilgisayar Mühendisliği 3 .sınıf
** http://kGlznet.kayyo.com
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>T.C. Kimlik Sorgulama...</title>
<style type="text/css">
<!--
.style2 {
    font-size: 14px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
}

.style3 {
    font-size: 12px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
    }
-->
</style>
</head>

<body>
<?php
/* Öncelikle Nüfus  Müdürlüğünün web servis hizmetini kullanabilmek için gereken adresi bilmeliyiz.
** soruişareti(?)'den sonra "wsdl" uzantısı olmalı. 
** bu adresi öğrendikten sonra bir SOAP nesnesi oluşturmalıyız.aşağıdaki tek satırlık kod bir
** SoapClient nesnesi oluşturmaktadır.Soap Nesnesi oluşturalım ki,nüfus müdürlüğünün web servisi
** içindeki fonksiyonları kullanabilelim.
*/
$soap=new SoapClient("http://tckimlik.nvi.gov.tr/kpsPublic.asmx?wsdl");
?>
<div align="center">
  <form id="form1" name="form1" method="post" action="">

   
    <table width="350" border="1" cellpadding="0" cellspacing="0" bordercolor="#FF0000">
      <tr>
        <td><div align="center">
          <table width="300" border="0">
            <tr>
              <td><div align="center" class="style2">T.C. Kimlik Numaran&#305;z&#305; Giriniz..: </div></td>
            </tr>
            <tr>
              <td><div align="center">
                  <input name="txtkno" type="text" id="txtkno" size="20" />
              </div></td>
            </tr>
            <tr>
              <td><div align="center">
                <input type="submit" name="Submit" value="Sorgula..." />
              </div></td>
            </tr>
          </table>
        </div></td>
      </tr>
    </table>
  </form>

<?php
/*
**Buradaki kodlar sayfa post edildikten sonra kullanaılabilecekler.   
*/   
    if($_POST)
       {
          /*
          ** Aşağıdaki fonksiyon türkçe karakterler dönüştürme fonksiyonudur.
          ** biz Nüfüs müdürlüğünün web servisini kullanarak verileri çektiğimizde , o veriler utf-8 formatındadırlar.
          ** yani bizim "İ" olmasını beklediğimiz harfimiz "İ" şeklinde gelmektedir.
          ** Bunu  düzeltebilmek için bir fonksiyon kullanıyoruz.Böylece yanlış gelen harfler
          ** düzeltilerek kullanıcıya doğru bir şekilde gösterilmektedir.    
           */
          function turkce_karakterler($tck)
          {
                    $tck=str_replace("İ","İ",$tck);
                    $tck=str_replace("Ü","Ü",$tck);
                    $tck=str_replace("Äž","Ğ",$tck);
                    $tck=str_replace("Å?","Ş",$tck);
                    $tck=str_replace("Ç","Ç",$tck);
                    $tck=str_replace("Ö","Ö",$tck);
            return $tck;
          }
          /*
          **Aşağıdaki tek satrılık kod ,nufus müdürlüğünün("http://tckimlik.nvi.gov.tr") web servisinin bize sunmuş olduğu
          ** fonksiyonlardan biridir."TCKimlikNoDogrula" fornksiyonu sayfamızdaki tckimlik numaramızı yazdığımız text kutusunun
          ** degerini alır.Böylece biz tckimlik numarasının aranması işlemini nufus müdürlüğünün web servisi
          ** üzerine atarız.Böylece gönderdiğimiz numara nufus müd. web servisinde aranır.XML verisi halinde olduğu içinde
          ** array kullanmamız gerekmektedir.
          ** peki neden *1(bir ile çarptık)?
          ** Çünkü "TCKimlikDogrula" fonksiyonu long veri tipindedir.
          ** bizim text kutumuz string bir değer gönderir.biz onu *1 ile sayısal hale getiririz.
          **Eğer *1 i silersek , sorgulama çalışmaz.isterseniz deneyin!!!
          */
          $tc=$soap->TCKimlikNoDogrula(array("tcKimlikNo"=>$_POST['txtkno']*1));
         /*
          ** Aşağıdaki array yapısı şunun içindir.Şimdi hemen http://tckimlik.nvi.gov.tr/Web/WebServices.aspx adresine gidin.
          ** aşağıda çıkan linki tıklayın.(XML web servisleri dokumantasyonu)
          ** Orada web servisinin bize kullanmamız için free olarak fonksiyonları görülmektedir.
          ** biz "TCKimlikNoDogrula" fonksiyonunu kullanmaktayız.O fonksiyonu tıklayınca karşınıza XML sayfası gelir.
          ** O XML sayfasında "TCKimlikNoDogrula" etiketi vardır.biz onu yukarıdaki tek satrılık kod ile kullandık.
          ** Aşağıya inerseniz orada birde "TCKimlikNoDogrulaResult" etiketini göreceksiniz.Oranın içeriğine bakınca
          ** aşağıdaki array yapısının etiketlerini göreceksiniz.
          ** yani biz "TCKimlikNoDoğrula" etiketine text kutumuzdaki numarayı gönderdiğimizde
          ** bize "TCKimlikNoDogrulaResult" etiketi geri bildirim yapıp , o tckimlik numarasının bilgilerini bize geri döndürür.
          ** Böylece nufus müdürlüğünün web servisini kullanmış oluruz.
         */
             $bilgiler=array("TCKimlikNo" => "T.C. Kimlik Numaranız..:",
                          "Ad" => "Adınız..:",
                          "Soyad"=>"Soyadınız..:",
                          "DogumYil"=>"Doğum Yılınız..:");
          /*
          ** Şimdi gelelim  verileri ekrana yazdırmaya.
          ** bir foreach döngüsü kullanrak "TCKimlikNoDogrulaResult" fonksiyonu vasıtasıyla
          ** bilgileri ekrana yazıyoruz.hemde utf-8 formatında gelen verileri turkce_karakterler fonksiyonunu
          ** kullanarak iso-8859-9 formatındaymış gibi ekrana basıyoruz.
          ** işte bu kadar.
          */
          echo "<table border=\"1\" width=\"350\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#FF0000\">";
          foreach($bilgiler as $deger => $metin)
                 {
                    echo "<tr><td><div align=\"left\" class=\"style3\">".$metin."</div></td>
                         <td>".turkce_karakterler($tc->TCKimlikNoDogrulaResult->$deger)."</td></tr>";
                 }         
                 echo "</table>";
               
       }
      
       /*
        ** Bu kodlar PHP+SOAP uygulamalarına yeni başlayan arkadaşlara iyi bir
        ** başlangıç kaynağı olaağına inanıyorum.Bu sayfadaki kodlar denemiştir
        ** ve çalışıyo arkadaşlar.İnşallah yardımım olmuştur.Sizlere başarılar
        ** ve kolay gelsin...
       */
?>
</div>
</body>
</html>



Yazar:Kadir Gülağız
web Sayfası:http://kGlznet.kayyo.com

Bu makale hakkında ek bilgi eklemek için buraya tıklayınız

Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.

Digg this Post! Add Post to del.icio.us Bookmark Post in Technorati Furl this Post!
Eklenme tarihi: 7-9-2006  Okunma: 3858

Bu Makaleye Verilen Puan:    Makaleye verilen puanlar Makaleye verilen puanlar Makaleye verilen puanlar
Bu Makaleye Puan Ver  

Bölüm Başlık Kullanıcı Yorumları


Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
Reklam Netinternet
Bazı hakları saklıdır: İçeriğin editör ve yazarlarımız tarafından oluşturulan kısımları ve site tasarımının hakkı saklıdır.  Bu sayfa en iyi 1280x1024 ve 1024x768 çözünürlükte izlenir.
Powered by BilgiPortal v2.2
Emlak Yorumlar Müzik estetik