• 27-08-2022, 15:46:29
    #1
    Merhaba, CodeIgniter 4 Scriptte T.C Sorgulama ve Kontrolü yapamıyorum, ürün alma ekranında nasıl kontrol yapabilirim aşağıya kodları bırakıyorum
    KAYNAK: https://www.serdarkurt.com.tr/php-il...nasil-yapilir/

    <?php
    //---------------Karakter Düzelt Fonksiyonu---------------//
    /*
    karakterDuzelt adında bir fonksiyon hazırlıyoruz. Bu fonksiyonu türkçe karakter
    ler küçük yazıldığında otomatik olarak büyük hale çevirecek. Doğrulama isteğini
    bu şekilde göndereceğiz.
    */
    function karakterDuzelt($yazi){
         $ara=array("ç","i","ı","ğ","ö","ş","ü");
         $degistir=array("Ç","İ","I","Ğ","Ö","Ş","Ü");
         $yazi=str_replace($ara,$degistir,$yazi);
         $yazi=strtoupper($yazi);
         return $yazi;
    }
    // ----------------TC Kimlik No Doğrulama Kısmı----------------//
    /*
    Bilgiler doldurulup Formu Gönder butonuna tıklanana kadar işlem başlamaması için
    isset() fonksiyonu kullanıyoruz.
    */
    if (isset($_POST['tcKimlikSorgula'])) {
    /*
    Değerler, formu gönder butonu ile birlikte POST edildi ve yakalayıp ilgili değiş-
    kenlere atadık.
    */
    $tcKimlikNo=$_POST['identity'];
    /*
    Ad ve Soyad için türkçe küçük karakter yazılırsa bunu otomatik olarak büyük hale
    çeviriyoruz (karakterDuzeltme) ve her ihtimale karşın sağında ya da solunda
    boşluk varsa o kısmı kırpıyoruz(trim()).
    */
    $ad = karakterDuzelt(trim($_POST["name"]));
    $soyad= karakterDuzelt(trim($_POST['surname']));
    $dogumYili=$_POST['birth'];
    /*
    Bundan sonraki kodları TRY CATCH blogunda yazdıracağız ki herhangi bir hata ol-
    duğunda bunu yakalayabilelim.
    */
    try {
    /*
    Değişkenlere atadığımız form verilerini $veriler adında bir diziye aktarıyoruz.
    */
      $veriler = array(
        'TCKimlikNo' => $tcKimlikNo,
        'Ad' => $ad,
        'Soyad' => $soyad,
        'DogumYili' => $dogumYili
      );
    /*
    OOP ile SOAP oluşturarak $baglan adında bir değişkene atıyoruz. Bu sayede
    tckimlik.nvi.gov.tr üzerinden elimizdeki verileri kullanarak sorgulama yapabile-
    ceğiz. Eğer php.ini de bulunan extensions'da soap aktif değilse başındaki ";"
    noktalı virgülü kaldırıp servisi yeniden başlatmanız gerekecektir.
    */
      $baglan = new SoapClient("https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL");
      $sonuc = $baglan -> TCKimlikNoDogrula ($veriler);
    // Forma girilen bilgilerin hepsi doğruysa aşağıdaki mesaj
      if ($sonuc->TCKimlikNoDogrulaResult) {
        echo "Girmiş olduğunuz kimlik bilgileri doğrudur.";
      }
    // Bir yada bir kaçtanesi yanlış ise aşağıdaki mesaj son kullanıcıya gösterilir.
      else {
        echo "Girmiş olduğunuz kimlik bilgileri yanlıştır.";
      }
    // Eğer hata oluşursa ekrana yazdırıyoruz.
    } catch (\Exception $e) {
     echo $exc->getMessage();
    }
    }
    else {
      // code...
    }
         ?>
        <form action="" method="post" class="order-form">
            <div class="container">
                <div class="row">
                    <?php if (isset($error)) : ?>
                        <div class="col-md-12">
                            <div class="error-message">
                                <p><b><?= line('Error') ?>!</b> <?= $error ?>!</p><i class="ri-error-warning-line"></i>
                            </div>
                        </div>
                    <?php endif; ?>
                    <div class="col-md-6">
                        <label><?= line('Name') ?>:</label>
                        <input value="<?= isset($error) && isset($_POST['name']) ? htmlspecialchars($_POST['name']) : '' ?>" type="text" name="name" required placeholder="<?= htmlspecialchars(line('Enter your name')) ?>.">
                    </div>
                    <div class="col-md-6">
                        <label><?= line('Surname') ?>:</label>
                        <input value="<?= isset($error) && isset($_POST['surname']) ? htmlspecialchars($_POST['surname']) : '' ?>" type="text" name="surname" required placeholder="<?= htmlspecialchars(line('Enter your surname')) ?>.">
                    </div>
                    <div class="col-md-6">
                        <label><?= line('Email Address') ?>:</label>
                        <input value="<?= isset($error) && isset($_POST['email']) ? htmlspecialchars($_POST['email']) : '' ?>" type="email" name="email" required placeholder="<?= htmlspecialchars(line('Enter your email address')) ?>.">
                    </div>
                    <div class="col-md-6">
                        <label><?= line('Phone Number') ?>:</label>
                        <input value="<?= isset($error) && isset($_POST['phone']) ? htmlspecialchars($_POST['phone']) : '' ?>" type="tel" name="phone" maxlength="11" required placeholder="<?= htmlspecialchars(line('Enter your phone number')) ?>.">
                    </div>
                    <div class="col-md-12">
                        <label><?= line('Billing Address') ?>:</label>
                        <input value="<?= isset($error) && isset($_POST['address']) ? htmlspecialchars($_POST['address']) : '' ?>" type="text" name="address" required placeholder="<?= htmlspecialchars(line('Enter your billing')) ?>.">
                    </div>
                    <div class="col-md-6">
                        <label><?= line('TR Identity') ?>:</label>
                        <input value="<?= isset($error) && isset($_POST['identity']) ? htmlspecialchars($_POST['identity']) : '' ?>" name="identity" maxlength="11" required placeholder="<?= htmlspecialchars(line('Enter your tc')) ?>.">
                    </div>
                    <div class="col-md-6">
                        <label><?= line('Year Birth') ?>:</label>
                        <input value="<?= isset($error) && isset($_POST['birth']) ? htmlspecialchars($_POST['birth']) : '' ?>" name="birth" maxlength="4" required placeholder="<?= htmlspecialchars(line('Enter your year')) ?>.">
                    </div>
                    <div class="col-md-12">
                        <label><?= line('Payment Method') ?>:</label>
                        <select name="payment" required>
                            <?php if (getConfig('cardEnabled') == 1) : ?>
                                <option value="card"><?= line('Credit/Debit Card') ?><?= getConfig('cardCommission') > 0 ? ' (+' . sprintf(line('%s%% commission'), getConfig('cardCommission')) . ')' : '' ?></option>
                            <?php endif; ?>
                            <?php if (getConfig('mobileEnabled') == 1) : ?>
                                <option value="mobile"><?= line('Mobile Payment') ?><?= getConfig('mobileCommission') > 0 ? ' (+' . sprintf(line('%s%% commission'), getConfig('mobileCommission')) . ')' : '' ?></option>
                            <?php endif; ?>
                            <?php if (getConfig('cryptoEnabled') == 1) : ?>
                                <option value="crypto"><?= line('Crypto Payment') ?><?= getConfig('cryptoCommission') > 0 ? ' (+' . sprintf(line('%s%% commission'), getConfig('cryptoCommission')) . ')' : '' ?></option>
                            <?php endif; ?>
                            <?php if (getConfig('bankEnabled') == 1) : ?>
                                <option value="bank"><?= line('EFT/Bank Transfer') ?><?= getConfig('bankCommission') > 0 ? ' (+' . sprintf(line('%s%% commission'), getConfig('bankCommission')) . ')' : '' ?></option>
                            <?php endif; ?>
                        </select>
                    </div>
                    <div class="col-md-12">
                        <button class="btn bg-primary" type="submit" name="tcKimlikSorgula"><?= line('Go to Payment Page') ?></button>
                        <button class="btn bg-primary" type="reset" style="margin-left:10px;"><?= line('Reset Information') ?></button>
                    </div>
                  </div>
  • Kabul Edilen Cevap
    • 0 Beğeni
      Teamviewer bilgileri özelden atabilirseniz bir bakalım
  • 27-08-2022, 17:32:06
    #2
    Hata mı veriyor çıktısı nedir
    ücretli destek için özelden iletişim kurabilirsiniz.
  • 27-08-2022, 18:31:28
    #3
    darness adlı üyeden alıntı: mesajı görüntüle
    Hata mı veriyor çıktısı nedir
    ücretli destek için özelden iletişim kurabilirsiniz.
    Hata vermiyor, yanlış bilgiler giriyorum uyarı vermesi lazım onu vermiyor
  • 28-08-2022, 14:24:22
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
      if ($sonuc->TCKimlikNoDogrulaResult) {
        echo "Girmiş olduğunuz kimlik bilgileri doğrudur.";
      }
    // Bir yada bir kaçtanesi yanlış ise aşağıdaki mesaj son kullanıcıya gösterilir.
      else {
        echo "Girmiş olduğunuz kimlik bilgileri yanlıştır.";
      }
    Doğru girdiğinizde doğrudur mesajı veriyor mu?
  • 28-08-2022, 15:18:02
    #5
    mJet adlı üyeden alıntı: mesajı görüntüle
      if ($sonuc->TCKimlikNoDogrulaResult) {
        echo "Girmiş olduğunuz kimlik bilgileri doğrudur.";
      }
    // Bir yada bir kaçtanesi yanlış ise aşağıdaki mesaj son kullanıcıya gösterilir.
      else {
        echo "Girmiş olduğunuz kimlik bilgileri yanlıştır.";
      }
    Doğru girdiğinizde doğrudur mesajı veriyor mu?
    Normalde veriyor ama scriptte entegre edemedim, TC kontrolü yapmadan direk sipariş geçebiliyor ben bu öncelikle TC ad soyad ve doğum yılı doğru mu eğer doğruysa sipariş geçsin gibi birşey İstiyorum.
  • 28-08-2022, 15:26:43
    #6
    furkanars0 adlı üyeden alıntı: mesajı görüntüle
    Normalde veriyor ama scriptte entegre edemedim, TC kontrolü yapmadan direk sipariş geçebiliyor ben bu öncelikle TC ad soyad ve doğum yılı doğru mu eğer doğruysa sipariş geçsin gibi birşey İstiyorum.
    furkanars0 adlı üyeden alıntı: mesajı görüntüle
    Normalde veriyor ama scriptte entegre edemedim, TC kontrolü yapmadan direk sipariş geçebiliyor ben bu öncelikle TC ad soyad ve doğum yılı doğru mu eğer doğruysa sipariş geçsin gibi birşey İstiyorum.
    if (isset($_POST['tcKimlikSorgula']))
    O zaman şu if'e girmiyor. Button name tcKimlikSorgula ama $_POST['tcKimlikSorgula']) button name'den geliyor mu emin değilim.

    <button class="btn bg-primary" type="submit" name="tcKimlikSorgula"><?= line('Go to Payment Page') ?></button>
    bunu

    <input class="btn bg-primary" type="submit" name="tcKimlikSorgula"><?= line('Go to Payment Page') ?></input>
    bu şekilde değiştirip bir deneyebilir misin?

    (Uykusuzluktan yanlış birşey diyorsam affola)
  • 28-08-2022, 15:35:25
    #7
    mJet adlı üyeden alıntı: mesajı görüntüle
    if (isset($_POST['tcKimlikSorgula']))
    O zaman şu if'e girmiyor. Button name tcKimlikSorgula ama $_POST['tcKimlikSorgula']) button name'den geliyor mu emin değilim.

    <button class="btn bg-primary" type="submit" name="tcKimlikSorgula"><?= line('Go to Payment Page') ?></button>
    bunu

    <input class="btn bg-primary" type="submit" name="tcKimlikSorgula"><?= line('Go to Payment Page') ?></input>
    bu şekilde değiştirip bir deneyebilir misin?

    (Uykusuzluktan yanlış birşey diyorsam affola)
    Yok hocam ya malesef direk kart ile ödeme sayfasına yönlendiriyor kontrol yapmadan, codeigniter4 olduğu için sanırım böyle düz php pdoda çalışıyor çünkü denedim ama ne yazıkki bunda bir türlü çalıştıramıyorum...
  • 28-08-2022, 15:36:17
    #8
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    Teamviewer bilgileri özelden atabilirseniz bir bakalım