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>